android - MIUI 11 防止从前台服务启动(其他应用程序的)活动?
问题描述
在最近的一些 MIUI 11 更新中,似乎不再可能Activity
从运行在Foreground Service
. 我可以在我的 MIUI 11.0.5 设备上确认(不确定 MIUI 11 的早期版本)和来自野外的报告。几个月前这一切都很好。
我已经使用(有和没有标志)进行了测试:
Intent intent = viewContext.getPackageManager().getLaunchIntentForPackage(otherPackageName);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // doesn't make a difference
viewContext.startActivity(intent)
从SAWOnClickListener
的主服务器上调用。View
Logcat 显示系统正在获取意图:
I/Timeline: Timeline: Activity_launch_request time:6329289 intent:Intent...
但实际上什么也没发生。我注意到对另一个应用程序的调用ContentProvider
,按预期工作。我什至尝试从里面开始活动ContentProvider
,但这也没有用。
也许,更一般地说,问题是Activities
(其他应用程序)从非Activity
Contexts
.
注意:虽然看起来与此处的问题相同,但可接受的解决方法不适用于这种情况。这两个应用程序都启用了“在后台运行时显示弹出窗口”权限。
有任何想法吗?
解决方案
推荐阅读
- javascript - HtmlUnit 执行 Javascript 后如何获取页面
- c# - DrawArc 对圆形有效,但对椭圆无效
- javascript - 在异步调用中使用 Promise 进行递归
- java - hibernate & jpa:具有复合主键的表:自动增量问题
- jquery - Angular6应用程序默认添加jquery
- hadoop - Sqoop 导入具有带 where 子句和并行处理的 SQL 查询
- python - 递归编写字典
- java - 在 JPanel 中实时调整图像
- python - Python中的泛型函数类型
- javascript - 在加载自定义脚本之前加载 jQuery,不使用模块或多个