Не появляется запрос на permission

129
01 февраля 2021, 05:50

Манифест:

<uses-permission
    android:name="android.permission.GET_ACCOUNTS"
    android:maxSdkVersion="22" />

Проверяю разрешение вот так:

private void get_permission(){
    String[] aReq = new String[] {GET_ACCOUNTS};
    int permissionStatus = ContextCompat.checkSelfPermission(this, GET_ACCOUNTS);
    if (permissionStatus == PackageManager.PERMISSION_GRANTED) {
        Log.d("MyLog", "Permission GRANTED");
        getData();
    } else {
        Log.d("MyLog", "Permission REQ");
        ActivityCompat.requestPermissions(this, aReq, REQUEST_CODE_PERMISSION);
    }
}

Результат ловлю вот так:

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    Log.d("MyLog", "Result: " + requestCode);
    switch (requestCode) {
        case REQUEST_CODE_PERMISSION:
            Log.d("MyLog", "grantResults.length: " + grantResults.length + " " + grantResults[0]  + " " + PackageManager.PERMISSION_GRANTED);
            if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                // permission granted
                getData();
            } else {
                // permission denied
            }
            return;
    }
}

Доходит до лога

Log.d("MyLog", "Permission REQ");

Логи:

D/MyLog: Permission REQ
I/Timeline: Timeline: Activity_launch_request time:15624541
D/ActivityTrigger: ActivityTrigger activityPauseTrigger 
D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
V/BoostFramework: BoostFramework() : mPerf = 
com.qualcomm.qti.Performance@45fd64
D/PowerKeeper.Event: notifyAMProcStart processName: 10023 reason: com.google.android.packageinstaller, pid:0
D/TidaProvider: TidaProvider()
W/ReflectionUtils: java.lang.NoSuchMethodException: android.os.MessageQueue#enableMonitor()#bestmatch
    at miui.util.ReflectionUtils.findMethodBestMatch(ReflectionUtils.java:338)
    at miui.util.ReflectionUtils.findMethodBestMatch(ReflectionUtils.java:375)
    at miui.util.ReflectionUtils.callMethod(ReflectionUtils.java:800)
    at miui.util.ReflectionUtils.tryCallMethod(ReflectionUtils.java:818)
    at android.os.BaseLooper.enableMonitor(BaseLooper.java:47)
    at android.os.Looper.prepareMainLooper(Looper.java:111)
    at android.app.ActivityThread.main(ActivityThread.java:5584)
    at java.lang.reflect.Method.invoke(Native Method)
    at 
 com.android.internal.os.ZygoteInit$MethodAndArgsCaller. run(ZygoteInit.java:774)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)
 I/Adreno: QUALCOMM build                   : 10c9f68, I74772a33ad
 Build Date                       : 02/07/17
 OpenGL ES Shader Compiler Version: XE031.07.00.01
 Local Branch                     : 
 Remote Branch                    : 
 refs/tags/AU_LINUX_ANDROID_LA.UM.5.1_RB1.06.00.01.192.038
 Remote Branch                    : NONE
 Reconstruct Branch               : NOTHING
 I/Timeline: Timeline: App_transition_ready time:15624648
 D/GameBoosterService: onGameStatusChange 
 foreground: 
 ForegroundInfo{mForegroundPackageName='com.google.android.packageinstaller', mForegroundUid=10023, mForegroundPid=29565, mLastForegroundPackageName='c.calendarcode', mLastForegroundUid=10105, mLastForegroundPid=29520, mMultiWindowForegroundPackageName='null', mMultiWindowForegroundUid=-1, mFlags=1}
I/Timeline: Timeline: App_transition_stopped time:15624648
I/OpenGLRenderer: Initialized EGL, version 1.4
W/ResourceType: No package identifier when getting name for resource number 0x00000000
W/System: ClassLoader referenced unknown path: /system/priv-app/PackageInstaller/lib/arm64
W/art: Before Android 4.1, method int android.support.v7.widget.DropDownListView.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
D/AndroidRuntime: Shutting down VM

--------- beginning of crash
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.google.android.packageinstaller, PID: 29565
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.google.android.packageinstaller/com.android.packageinstaller.permission.ui.GrantPermissionsActivity}: java.lang.NullPointerException: Attempt to get length of null array
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2485)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2545)
    at android.app.ActivityThread.access$1100(ActivityThread.java:151)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:157)
    at android.app.ActivityThread.main(ActivityThread.java:5601)
    at java.lang.reflect.Method.invoke(Native Method)
    at 
   com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run 
   (ZygoteInit.java:774)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)
   Caused by: java.lang.NullPointerException: Attempt to get length of null array at 
   com.android.packageinstaller.permission.ui.GrantPermissionsActivity. computePermissionGrantState 
  (GrantPermissionsActivity.java:312)
    at 
   com.android.packageinstaller.permission.ui. 
  GrantPermissionsActivity.updateDefaultResults 
  (GrantPermissionsActivity.java:362)
    at 
  com.android.packageinstaller.permission.ui. 
  GrantPermissionsActivity.onCreate(GrantPermissionsActivity.java:105)
  at android.app.Activity.performCreate(Activity.java:6355)
  at android.app.Instrumentation. 
  callActivityOnCreate(Instrumentation.java:1108)
    at android.app.ActivityThread. 
  performLaunchActivity(ActivityThread.java:2438)
    at android.app.ActivityThread.
  handleLaunchActivity(ActivityThread.java:2545) 
    at android.app.ActivityThread.access$1100(ActivityThread.java:151) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:157) 
    at android.app.ActivityThread.main(ActivityThread.java:5601) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at 
   com.android.internal.os.
   ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652) 
   D/PowerKeeper.Event: notifyAMCrash packageName: 0, pid:29565
   I/octvm_klo: klo lock

По идее, должно было появляться окно настройки, где можно дать разрешение (если я правильно понимаю), но никакого окна не появляется. Почему?

READ ALSO
Не работает метод onBackPressed Android

Не работает метод onBackPressed Android

Есть проект "написанный" в Buildbox и импортированный в Android StudioВ самой студии была создана Activity с кнопкой, при нажатии на которую открывается...

120
Как &#171;Поставить на паузу&#187; процесс чужой программы

Как «Поставить на паузу» процесс чужой программы

Мне нужен метод, который бы остановил программу на неопределенный или определенный срок(Заморозить), подобно методу Threadsleep() , только у чужой...

115
Как в Java считать 2 строки из файла за цикл?

Как в Java считать 2 строки из файла за цикл?

Мне нужно считать в файле строки с данными и отправлять каждую в свою коллекцию, но считывать нужно по 2 строки за цикл, и что бы в этом цикле...

113