如何在android 10或更高版本中按下主页按钮时开始我的活动

How to start my an Activity when home Button Pressed in android 10 or higher

提问人:Navi_Here 提问时间:10/25/2023 最后编辑:Navi_Here 更新时间:10/25/2023 访问量:41

问:

我希望我的应用程序在一段时间后通过按主页按钮在后台重新启动。也就是说,应用程序没有被杀死,但仍然是最近的。如何在android中实现它。

我尝试使用服务,但问题是意图没有自动调用。它仅在单击通知时打开。有人请帮忙...

android android-intent android-activity android-service

评论

2赞 CommonsWare 10/25/2023
在现代版本的 Android 上,您不能将 UI 从后台强制到前台,除非在非常有限的情况下
0赞 David Wasser 11/1/2023
如果用户将你的应用置于后台,他们不希望它出现在前台。这很烦人。这是设计使然。

答:

-1赞 Max Lebedev 10/25/2023 #1

尝试设置权限:

 <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>

这有助于在设备屏幕关闭时启动活动(仅适用于极高优先级的通知,添加函数调用)。更多信息Notification.Builder setFullScreenIntent(...)

并授予应用程序覆盖权限,以便在其他应用程序在前台运行时能够启动活动。要求用户通过以下方式启用此权限

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (!Settings.canDrawOverlays(this)) {
            Intent overlayIntent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
            startActivityForResult(overlayIntent, 0);
        }
    }

评论

0赞 Navi_Here 10/29/2023
这是行不通的,每当应用程序在后台运行时,它只会停止意图过程。
0赞 Max Lebedev 11/4/2023
它与待处理的意图和警报管理器或工作管理器一起使用