首页 > 解决方案 > 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 开始,它不会

标签: javaandroidandroid-activitybackgroundandroid-10.0

解决方案


根据链接,如果您有一个 HostApduService,那么您的应用程序应该在 Android Q 中运行相同。

如果这不是您的情况,最简单的解决方法是获得“绘制其他应用程序”权限。如果应用已被用户授予 SYSTEM_ALERT_WINDOW 权限,您可以打开活动。我已经对此进行了测试并且正在工作。

从技术上讲,您在没有用户交互的情况下在其他应用程序之上展示一些东西,所以这可能是正确的方法。


推荐阅读