如何从后台服务的全屏意图通知Android中打开活动
Posted
技术标签:
【中文标题】如何从后台服务的全屏意图通知Android中打开活动【英文标题】:How to open activity from background service's full screen intent notification Android 【发布时间】:2021-03-16 03:50:17 【问题描述】:项目最小 API KitKat(19),项目目标 API android 10(30)
我正在尝试做一些事情来从我的后台服务启动一个活动。 我知道从 API 29 开始,从后台服务启动 Activity 显然是不可能的。
但是,是否可以为该通知创建一个全屏意图通知和一个广播接收器,从而自动从我的应用中打开一个活动?或者,用户是否仍需要点击全屏通知才能启动 Activity?
如果以这种方式从广播接收器自动启动活动是可能的,那将如何实现?
谢谢!
【问题讨论】:
【参考方案1】:您可以通过在清单中添加"SYSTEM_ALERT_WINDOW"
权限来从后台打开活动,并在应用第一次打开时通过在应用中的某处调用startActivity(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION));
并授予您的应用权限来请求用户权限。
【讨论】:
我会试试的!设置中是否存在用户需要使用我的代码重新路由到的位置,或者当我将权限放入清单时,对话框是否会由 android 系统打开? 我添加了权限并从我的后台运行此活动,但没有任何运气:Intent startMain = new Intent(Intent.ACTION_MAIN); startMain.addCategory(Intent.CATEGORY_HOME); startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); App.getContext().startActivity(startMain);
我还应该做什么?以上是关于如何从后台服务的全屏意图通知Android中打开活动的主要内容,如果未能解决你的问题,请参考以下文章
如何打开Android版Chrome Beta隐藏的全屏模式
全屏意图未启动活动,但确实在 android 10 上显示通知