0

ich java.lang.SecurityException wenn Versuch startActivityForResult(intent, requestCode); mit final Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS); Absicht. Interessant, dass dieser Unfall passiert nur auf Huawei mit Android 5.1 - 5.1.1 Ich habe nicht Huawei Gerät. Könnten Sie mir bitte einen Rat geben, was es sein kann?java.lang.SecurityException: Permission Denial: Start Intent {act = android.settings.USAGE_ACCESS_SETTINGS}

Stacktrace

Fatal Exception: java.lang.SecurityException: Permission Denial: starting Intent { act=android.settings.USAGE_ACCESS_SETTINGS cmp=com.android.settings/.Settings$UsageAccessSettingsActivity } from ProcessRecord{11b5f1a1 19764:com.myproject.my/u0a167} (pid=19764, uid=10167) not exported from uid 1000 
     at android.os.Parcel.readException(Parcel.java:1546) 
     at android.os.Parcel.readException(Parcel.java:1499) 
     at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:2448) 
     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1496) 
     at android.app.Activity.startActivityForResult(Activity.java:3794) 
     at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48) 
     at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:77) 
     at android.app.Activity.startActivityForResult(Activity.java:3755) 
     at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859) 
     at com.myproject.my.utils.PermissionsHelper$2.onClick(PermissionsHelper.java:134) 
     at android.support.v7.app.AlertController$ButtonHandler.handleMessage(AlertController.java:157) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5298) 
     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:911) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:706) 
+0

Sie bitte Ihre Frage bearbeiten und den gesamten Java-Stack-Trace schreiben. – CommonsWare

+0

@CommonsWare Ich habe den Stack-Trace hinzugefügt, danke. – LeShChEnKoUa

Antwort

2

Aus irgendeinem Grund verlassen Huawei die <intent-filter> an Ort und Stelle für diese Tätigkeit, aber sie markiert es als nicht exportiert. Es gibt keine Möglichkeit, dass Sie die Aktivität starten können. Sie können nur die Ausnahme abfangen und dem Benutzer erklären, dass Sie nicht dorthin navigieren können.

+0

Vielen Dank für die Erklärung! – LeShChEnKoUa

0

Laut Android-Entwickler-Dokumentation.

In einigen Fällen kann eine passende Aktivität nicht vorhanden ist, so stellen Sie sicher, Schutz gegen diese.

-Link:ACTION_USAGE_ACCESS_SETTINGS

+0

Ja, danke, ich weiß es und überprüfe ob Aktivität existiert – LeShChEnKoUa

Verwandte Themen