如何解决android不能后台启动
在 Oppo、vivo、小米等机型上如果你没有开启后台弹出界面权限,当你的 App 处于后台时,将无法通过 startActivity 方式启动页面
1.问题
我们调用了 startActivity 方法,但是确没有任何在目标页面 onCreate 方法中的埋点数据。
android版本问题
通过数据分析发现,发生此问题的手机 Android 系统版本分布很均匀,从 Android 6.0 到 Android 9.0 都有发生(当时 Android Q 还没有推出),因此和 Android 系统版本应该没有关系。
app前后台问题
在对少量的异常数据和重复消息进行过滤后发现,在调用 startActivity 方法的时候,App 确实都处于后台。
在测试的过程中发现有一台 OPPO 手机可以正常展示,我们通过对比这台 OPPO 手机和其他 OPPO 手机的各种开关、配置后发现,在这台 OPPO 手机设置中打开了一个叫做 xxx 的权限开关,我们又去查看 vivo 和 小米手机发现都有类似的权限开关。
解决方法
加上权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>