1

我在我的应用程序中使用粘性广播,并且我在清单中包含了以下权限。

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)
4

0 回答 0