v2rayNG icon indicating copy to clipboard operation
v2rayNG copied to clipboard

建议禁止Home键退出APP

Open BI7PRK opened this issue 3 years ago • 4 comments

预期行为

当在配置新的服务时,有时候需要切换到其它应用获得具体内容(例如在微信里复制必要参数)。这时需要返回微信。v2rayNG 后台隐藏。复制到内容后,返回v2rayNG,继续填入相应的配置参数。

实际行为

返回v2rayNG后,发现界面重新启动。原先已输入的参数全无。这样给配置交互产生极大麻烦。

复现方法

按Home返回切换到其它应用。然后再返回v2rayNG

建议

应该加入拦截Home键行为: src/main/kotlin/com/v2ray/ang/ui/MainActivity.kt

 override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            moveTaskToBack(false)
            return true
        }
        if(keyCode == KeyEvent.KEYCODE_HOME){
            var home = Intent(Intent.ACTION_MAIN)
            home.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
            home.addCategory(Intent.CATEGORY_HOME)
            startActivity(home)
            return true
        }
        return super.onKeyDown(keyCode, event)
    }

BI7PRK avatar Nov 28 '21 04:11 BI7PRK

Screen02 Screen01 Screen03

表示从来没有这个问题。并且按照你的描述进行了同样的操作,并没有复现。

AndroidOS几乎都是自带返回、home和多任务快捷键/导航键的(参考我的截图),会不会因为你使用的是全屏手势导航?

ghost avatar Nov 28 '21 07:11 ghost

MIUI 12.5.1稳定版:

https://user-images.githubusercontent.com/24989210/143983524-92ccab05-5a7c-4ee3-b278-c535d3c799e8.mp4

BI7PRK avatar Nov 30 '21 04:11 BI7PRK

MIUI 12.5.1稳定版:

f37c085ded6b270af6ff0c651a5871cb.mp4

试试以下操作:

  1. 在MIUI里设置允许NG后台运行、忽略电量优化,在多任务列表中锁定NG。
  2. 看你的录屏好像没有实际的输入行为,你应该点开输入框弹出输入法后粘贴上去再home试试?

ghost avatar Dec 01 '21 02:12 ghost

……

表示从来没有这个问题。并且按照你的描述进行了同样的操作,并没有复现。

AndroidOS几乎都是自带返回、home和多任务快捷键/导航键的(参考我的截图),会不会因为你使用的是全屏手势导航?

也许是他的描述不太准确,我一开始也没看懂他的意思,看到下面的代码示例才看懂。你试试按照我说的步骤看看能不能复现: 打开v2rayNG,点击右上角 + 号,选择手动输入[Vmess],无论填不填写参数都可以,HOME返回桌面,在桌面或抽屉中重新打开v2rayNG,这时你会发现v2rayNG的界面变成了主界面,刚才手动输入[Vmess]的界面没有了。上文中的手动输入[Vmess]也可以换成其它任何界面,包括v2rayNG的设置logcat等。 我觉得这个就是v2rayNG对Activity的切换逻辑没做处理,通过桌面图标重新进入v2rayNG的时候不能回到之前的Activity,而是回到了MainActivity上。对v2rayNG来说想要返回之前的Activity必须从最近任务列表切换回去,一旦手贱点击了桌面图标就会导致之前的Activity被结束和回收。正常的APP应该无论点击桌面图标还是最近任务卡片都能切换到之前未结束的Activity上去,你可以试试Telegram或者Google Play等,只要程序没被系统杀掉,就不存在点击桌面图标直接回到MainActivity的情况。

Gokou-Ruri avatar Jan 03 '22 10:01 Gokou-Ruri