2016-11-21 5 views
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); 
` 

나는 추가로이 권한을 원하지 않는다.

어떻게 발생/재현 할 수 있습니까?

+0

서명 수준의 사용 권한입니다. 그래서 manifest 파일에'android : protectionLevel = "signature"를 추가해야하고 타겟 API가'23'이면 런타임 권한을 사용해야한다. – Piyush

+0

코드가 무해한 것처럼 보입니다. 어쩌면 프로젝트의 다른 것이 문제의 원인 일 수 있습니다. [이 게시물] (http://stackoverflow.com/questions/20578474/permission-denial-this-requires-android-permission-interact-across-users-full) 체크 아웃 : 다른 여러 개발자가 매우 다른 이유로이 문제가 발생했습니다 그것을 한 방향으로 또는 다른 방향으로 고칠 수있었습니다. – 0X0nosugar

답변

-3

일부 보안 수준에서는 사용해야합니다. Check this link, 도움이 될 수 있습니다