【发布时间】:2021-12-09 22:19:03
【问题描述】:
所以我有一个应用程序,我希望它在设备重新启动时立即运行。为了实现这一点,我在 MainActivity 中添加了 home 和默认类别。
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
但是,由于默认主屏幕未启动,因此执行此操作后,需要单击主页按钮两次才能返回主屏幕。我知道我可以通过监控主页按钮点击操作来处理这个问题。
override fun onAttachedToWindow() {
super.onAttachedToWindow()
this.window.setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
}
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
if (keyCode == KeyEvent.KEYCODE_HOME) {
//open defualt home screen intent
}
return super.onKeyDown(keyCode, event)
}
但是,如果用户转到其他地方(比如说从状态栏打开设置),则单击主页按钮。这个问题会再次发生。
因此有没有办法避免这种情况?也许考虑在设备重启时在后台运行默认主屏幕,但老实说我不知道解决方案。
【问题讨论】: