我们最近在 Firebase 中集成了 Crashlytics,发现我们的应用正面临这样的崩溃:
Fatal Exception: java.lang.SecurityException
get application info: Neither user 1010170 nor current process has
android.permission.INTERACT_ACROSS_USERS.
android.os.Parcel.readException (Parcel.java:1540)
android.os.Parcel.readException (Parcel.java:1493)
android.app.IAlarmManager$Stub$Proxy.set (IAlarmManager.java:214)
android.app.AlarmManager.setImpl (AlarmManager.java:414)
android.app.AlarmManager.set (AlarmManager.java:213)
导致这种情况的代码是:
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
if (pendingIntent != null) {
AlarmManager alarmManager = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+triggerAfterMillis,
pendingIntent);
我曾尝试在各种不同的地方和论坛中搜索此内容,但还没有取得任何成果。
谁能帮我建立AlarmManager和INTERACT_ACROSS_USERS权限之间的关系以及如何解决这个问题?
注意:这主要发生在运行 Android 5 及更高版本的设备上。