3
私はこの変なクラッシュを取得しています。これはAlarmManager.set()のように思えますが、これは ですが、どうやってやったのかわかりません。SecurityException:アプリケーション情報を取得:ユーザー1010069も現在のプロセスもありません。android.permission.INTERACT_ACROSS_USERS
スタックトレース:
Fatal Exception: java.lang.RuntimeException: Unable to create application com.rotem.appmanager.app.MainApplication: java.lang.SecurityException: get application info: Neither user 1010069 nor current process has android.permission.INTERACT_ACROSS_USERS.
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4560)
at android.app.ActivityThread.access$1500(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5258)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:974)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)
Caused by java.lang.SecurityException: get application info: Neither user 1010069 nor current process has android.permission.INTERACT_ACROSS_USERS.
at android.os.Parcel.readException(Parcel.java:1546)
at android.os.Parcel.readException(Parcel.java:1499)
at android.app.IAlarmManager$Stub$Proxy.set(IAlarmManager.java:215)
at android.app.AlarmManager.setImpl(AlarmManager.java:409)
at android.app.AlarmManager.set(AlarmManager.java:208)
at com.rotem.appmanager.app.DailyAppTasksHelper.scheduleNextDailyAlarm(SourceFile:81)
コード:
Context context = MainApplication.getAppContext();
Intent intent = new Intent(context, PrepareAppService.class);
PendingIntent pendingIntent = PendingIntent.getService(context, CommonConfig.PendingIntentRequestCodes.ALARM_SCHEDULE_SELF_UPDATE, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
// cancel any existing alarms
alarmManager.cancel(pendingIntent);
// Set the alarm to start at approx. 14:00
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.DATE, 1);
calendar.set(Calendar.HOUR_OF_DAY, 14);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
`
私はこの権限追加する必要はありません。
これはどのように発生/再生されますか?
署名レベルの許可です。したがって、マニフェストファイルに 'android:protectionLevel =" signature "を追加する必要があります。ターゲットAPIが' 23'の場合は、実行時アクセス許可を使用する必要があります。 – Piyush
あなたのコードはかなり無害です。あなたのプロジェクトの何かが問題を引き起こしているのかもしれません。チェックアウト[この記事](http://stackoverflow.com/questions/20578474/permission-denial-this-requires-android-permission-interact-across-users-full):他のいくつかの開発者は、この動作を非常に異なる理由で経験しましたそれを一方向または他の方法で修正することができました。 – 0X0nosugar