Skip to content

This is a Module that help you to handle Android M Permission Easily :)

Notifications You must be signed in to change notification settings

YSaeid/Android-M-Runtime-Permission-Module

Repository files navigation

Android-M-Runtime-Permission-Module

This is a Module that help you to handle Android M Permission Easily :)

Usage

1. Copy This Two File in your project

2. Extend Your Class With This Two File

2.1 For Single request or check permission

@Override
public class ActivityMain extends AppCompatActivityWithRequestPermission implements AppCompatActivityWithRequestPermission.OnSinglePermissionStatus {

2.2 For Multiple request or check permission

@Override
public class ActivityMain extends AppCompatActivityWithRequestPermission implements AppCompatActivityWithRequestPermission.OnMultiplePermissionStatus {

2.3 Single check or request for Fragment

@Override
public class MyFragment extends FragmentWithRequestPermission implements AppCompatActivityWithRequestPermission.OnSinglePermissionStatus {

2.4 Multiple check or request For Fragment

@Override
public class MyFragment extends FragmentWithRequestPermission implements AppCompatActivityWithRequestPermission.OnMultiplePermissionStatus {

3. For Single Check Permission Or Request Permission Do like This:

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
      singleRequestPermission(Manifest.permission.CAMERA,
        this,
        "This App Need Some Permission",
        "This App For Continue Working Need Camera Permission.Grant The Requested Permission To App Continue Working",
        "OK",
        "Cancel");
    }
  }

3.1 Do Your Work Here After Permission Grant Or Not:

  @Override
  public void onPermissionGranted() {
    // do Your work here for granted permission
  }

  @Override
  public void onPermissionNotGranted() {
    // do Your work here for permission not granted
  }

3.2 For Multiple Request Permssion or Check Multiple Permssion:

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);

    String[] permissions = new String[]{
      Manifest.permission.ACCESS_COARSE_LOCATION,
      Manifest.permission.ACCESS_FINE_LOCATION,
      Manifest.permission.READ_CONTACTS,
      Manifest.permission.RECORD_AUDIO};

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
      multipleRequestPermission(permissions, this, "Need Permission", "This App Need Some Permission.", "OK", "Cancel");
    }
    
  }

3.3 Do Your Work Here After All Permission Grant Or Not:

  @Override
  public void onPermissionGranted() {
    Toast.makeText(this, "All Granted", Toast.LENGTH_SHORT).show();
  }

  @Override
  public void onPermissionNotGranted() {

  }

  @Override
  public void onAllPermissionNotGranted() {
    Toast.makeText(this, "All Not Granted", Toast.LENGTH_SHORT).show();
  }

4 Just Check Single Permission is granted in activity or fragment do like this:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
      checkSinglePermissionIsGranted(Manifest.permission.CAMERA);
    }

4.1 Just Check Multiple Permission is granted in activity or fragment do like this:

    String[] permissions = new String[]{
      Manifest.permission.ACCESS_COARSE_LOCATION,
      Manifest.permission.ACCESS_FINE_LOCATION,
      Manifest.permission.READ_CONTACTS,
      Manifest.permission.RECORD_AUDIO};

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
      checkMultiplePermissionIsGranted(permissions);
    }

HAVE FUN :)

This module is the easiest way to handle android M Runtime permission. just copy this 2 file in your project and extends your class of this two file. if you use Activity you must extends your class with AppCompatActivityWithRequestPermssion and if use fragment must extends FragmentWithRequestPermission

About

This is a Module that help you to handle Android M Permission Easily :)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages