我们最近在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及更高版本的设备上。