java - Android Q - 通过 NFC 启动隐私更改活动
问题描述
https://developer.android.com/preview/privacy/background-activity-starts
由此,我的支付应用程序(在执行 NFC 交易时显示活动)将无法再向用户显示任何内容。
有谁知道新方法是什么?
谢谢!
我目前使用 NFC 服务,它启动了一个 Activity 意图。
Intent intent = new Intent(mApplicationContext, PaymentActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
mApplicationContext.startActivity(intent);
应显示活动。它现在可以工作,但从 Android Q 开始,它不会
解决方案
根据链接,如果您有一个 HostApduService,那么您的应用程序应该在 Android Q 中运行相同。
如果这不是您的情况,最简单的解决方法是获得“绘制其他应用程序”权限。如果应用已被用户授予 SYSTEM_ALERT_WINDOW 权限,您可以打开活动。我已经对此进行了测试并且正在工作。
从技术上讲,您在没有用户交互的情况下在其他应用程序之上展示一些东西,所以这可能是正确的方法。
推荐阅读
- html - 我怎样才能使按钮正确,修复中间部分并使所有内容都可以调整大小
- javascript - 使用动态模式验证时,响应式表单始终无效
- rasa - 如何以 rasa 形式启动 rasa 动作
- php - 如果我为已在购物车中的产品单击“添加到购物车”按钮,如何重定向到购物车页面
- reactjs - 无法使用 Redux 加载数据
- amazon-dynamodb - DynamoDB 建模问题:玩家 1 和玩家 2 之间的游戏表,如何获取涉及给定玩家的所有游戏
- selenium - 如何在铬的内部页面上获取/与 element_locator 交互
- javascript - 扫描网站以查找重复的关键字并创建一个数组
- php - 如何创建正则表达式以将字符串完全拆分为 3 部分?(PHP)
- docker - dotnet core 2.1 aspnetcore_environment 通过 docker 更改不工作