我在应用程序中使用了粘性广播,并且清单中已包含以下权限。
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)