Open top menu






Explain:-In this blog explain , How to Get Runtime Permisson( for MarshMallow) in android?

MarshMallowPermission  permission=new MarshMallowPermission(this);

.........................................................................................................................................................



     @Override
   
public void onClick(View v) {
       
switch (v.getId()) {

           
case R.id.SaveButton:
               
permission=new MarshMallowPermission(this);
               
if (!permission.checkPermissionForExternalStorage()){
                   
permission.requestPermissionForExternalStorage();
                }
else {
                        Toast.makeText(MainActivity.
this, "Permission Is Allowed", Toast.LENGTH_SHORT).show();
                    }
                 break;
         }

    }

.........................................................................................................................................................





MarshMallowPermission.Java
Add permission Class ,the class get permission on run Time For MarshMallow.

.........................................................................................................................................................
public class MarshMallowPermission {
   
public static final int RECORD_PERMISSION_REQUEST_CODE = 1;
   
public static final int EXTERNAL_STORAGE_PERMISSION_REQUEST_CODE = 2;
   
public static final int CAMERA_PERMISSION_REQUEST_CODE = 3;
   
public static final int READ_PHONE_STATE_PERMISSION_REQUEST_CODE = 4;
    Activity
activity;

   
public MarshMallowPermission(Activity activity) {
       
this.activity = activity;
    }

   
public boolean checkPermissionForRecord(){
       
int result = ContextCompat.checkSelfPermission(activity, Manifest.permission.RECORD_AUDIO);
       
if (result == PackageManager.PERMISSION_GRANTED){
           
return true;
        }
else {
           
return false;
        }
    }

   
public boolean checkPermissionForExternalStorage(){
       
int result = ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
       
if (result == PackageManager.PERMISSION_GRANTED){
           
return true;
        }
else {
           
return false;
        }
    }

   
public boolean checkPermissionForCamera(){
       
int result = ContextCompat.checkSelfPermission(activity, Manifest.permission.CAMERA);
       
if (result == PackageManager.PERMISSION_GRANTED){
           
return true;
        }
else {
           
return false;
        }
    }

   
public boolean checkPermissionForReadPhoneState(){
       
int result = ContextCompat.checkSelfPermission(activity, Manifest.permission.READ_PHONE_STATE);
       
if (result == PackageManager.PERMISSION_GRANTED){
           
return true;
        }
else {
           
return false;
        }
    }

   
public void requestPermissionForRecord(){
       
if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.RECORD_AUDIO)){
            Toast.makeText(
activity, "Microphone permission needed for recording. Please allow in App Settings for additional functionality.", Toast.LENGTH_LONG).show();
        }
else {
            ActivityCompat.requestPermissions(
activity,new String[]{Manifest.permission.RECORD_AUDIO},RECORD_PERMISSION_REQUEST_CODE);
        }
    }

   
public void requestPermissionForExternalStorage(){
       
if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)){
            Toast.makeText(
activity, "External Storage permission needed. Please allow in App Settings for additional functionality.", Toast.LENGTH_LONG).show();
        }
else {
            ActivityCompat.requestPermissions(
activity,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},EXTERNAL_STORAGE_PERMISSION_REQUEST_CODE);
        }
    }

   
public void requestPermissionForCamera(){
       
if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.CAMERA)){
            Toast.makeText(
activity, "Camera permission needed. Please allow in App Settings for additional functionality.", Toast.LENGTH_LONG).show();
        }
else {
            ActivityCompat.requestPermissions(
activity,new String[]{Manifest.permission.CAMERA},CAMERA_PERMISSION_REQUEST_CODE);
        }
    }

   
public void requestPermissionReadPhoneState(){
       
if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.READ_PHONE_STATE)){
            Toast.makeText(
activity, "Read Phone State permission needed. Please allow in App Settings for additional functionality.", Toast.LENGTH_LONG).show();
        }
else {
            ActivityCompat.requestPermissions(
activity,new String[]{Manifest.permission.READ_PHONE_STATE},READ_PHONE_STATE_PERMISSION_REQUEST_CODE);
        }
    }
}



 .........................................................................................................................................................






 

0 comments