When to request permission at runtime for Android Marshmallow 6.0?

后端 未结 11 976
故里飘歌
故里飘歌 2020-12-06 05:54

I am testing my app on Marshmallow 6.0 and it\'s getting force closed for the android.permission.READ_EXTERNAL_STORAGE, even if it is defined in th

11条回答
  •  执笔经年
    2020-12-06 06:10

    For requesting runtime permission i use GitHub Library

    Add library in Build.gradle file

    dependencies {
         compile 'gun0912.ted:tedpermission:1.0.3'
    }
    

    Create Activity and add PermissionListener

    public class MainActivity extends AppCompatActivity{
    
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
    
    
        PermissionListener permissionlistener = new PermissionListener() {
            @Override
            public void onPermissionGranted() {
                Toast.makeText(RationaleDenyActivity.this, "Permission Granted", Toast.LENGTH_SHORT).show();
                //Camera Intent and access Location logic here
            }
    
            @Override
            public void onPermissionDenied(ArrayList deniedPermissions) {
                Toast.makeText(RationaleDenyActivity.this, "Permission Denied\n" + deniedPermissions.toString(), Toast.LENGTH_SHORT).show();
            }
        };
    
    
        new TedPermission(this)
                .setPermissionListener(permissionlistener)
                .setRationaleTitle(R.string.rationale_title)
                .setRationaleMessage(R.string.rationale_message) // "we need permission for access camera and find your location"
                .setDeniedTitle("Permission denied")
                .setDeniedMessage("If you reject permission,you can not use this service\n\nPlease turn on permissions at [Setting] > [Permission]")
                .setGotoSettingButtonText("Settings")
                .setPermissions(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)
                .check();
       }
    }
    

    string.xml

    
    
        Permission required
        we need permission for read camera and find your location
    
    
    

提交回复
热议问题