我在我的应用程序中使用粘性广播,并且我在清单中包含了以下权限。
uses-permission android:name="android.permission.BROADCAST_STICKY"
该应用程序在个人资料中正常安装时运行良好。由于安全异常,仅在工作配置文件中安装的同一应用程序崩溃。如果该应用程序同时安装在工作资料和个人资料中,则它在两个资料中都可以正常工作。
- 只有个人资料:工作正常
- 个人资料和工作资料:工作正常
- 仅工作资料:崩溃
崩溃只发生在 Android Pie 中。
给出异常的 API 是 context.removeStickyBroadcast()
AndroidRuntime: Caused by: java.lang.SecurityException: Permission Denial: unbroadcastIntent() from pid=4015, uid=1010232 requires android.permission.BROADCAST_STICKY
10-10 22:22:32.900 4015 4015 E AndroidRuntime: at android.os.Parcel.createException(Parcel.java:1942)
10-10 22:22:32.900 4015 4015 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1910)
10-10 22:22:32.900 4015 4015 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1860)
10-10 22:22:32.900 4015 4015 E AndroidRuntime: at android.app.IActivityManager$Stub$Proxy.unbroadcastIntent(IActivityManager.java:3919)
10-10 22:22:32.900 4015 4015 E AndroidRuntime: at android.app.ContextImpl.removeStickyBroadcast(ContextImpl.java:1346)
10-10 22:22:32.900 4015 4015 E AndroidRuntime: at android.content.ContextWrapper.removeStickyBroadcast(ContextWrapper.java:588)