yanzhenjie / AndPermission

:strawberry: Permissions manager for Android platform.
https://yanzhenjie.com/AndPermission
Apache License 2.0
6.63k stars 1.1k forks source link

两次申请同一权限组时闪退 #557

Open jingzz1 opened 4 years ago

jingzz1 commented 4 years ago

AndPermission的版本 手机型号/品牌型号 :荣耀9x 荣耀note10 华为mate9 品牌系统版本: emui9.1.1和emui9.1.0 Android系统版本: android9 项目targetSdkVersion: 29 申请的权限: READ_EXTERNAL_STORAGE ,WRITE_EXTERNAL_STORAGE 发生问题的场景和操作步骤 :申请READ_EXTERNAL_STORAGE通过后,再申请WRITE_EXTERNAL_STORAGE ,点拒绝,闪退

代码很简单,申请两次同一权限组的权限,第一次通过,第二次拒绝

        findViewById(R.id.read).setOnClickListener(v ->{
            AndPermission.with(this)
                    .runtime()
                    .permission(Manifest.permission.READ_EXTERNAL_STORAGE)
                    .onGranted(data -> {})
                    .start();
        });

        findViewById(R.id.write).setOnClickListener(v -> {
            AndPermission.with(this)
                    .runtime()
                    .permission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
                    .onGranted(data -> {})
                    .start();
        });

报错内容:

    java.lang.IllegalArgumentException: the bind value at index 1 is null
        at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:169)
        at android.database.sqlite.SQLiteProgram.bindAllArgsAsStrings(SQLiteProgram.java:205)
        at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:49)
        at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1493)
        at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:419)
        at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:335)
        at com.huawei.gallery.provider.GalleryProvider.query(GalleryProvider.java:806)
        at android.content.ContentProvider.query(ContentProvider.java:1086)
        at android.content.ContentProvider.query(ContentProvider.java:1178)
        at android.content.ContentProvider$Transport.query(ContentProvider.java:252)
        at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:102)
        at android.os.Binder.execTransact(Binder.java:739)
jingzz1 commented 4 years ago

AndPermission的版本 :x:2.0.1