Skip to content

baiiu/easypermissions

 
 

Repository files navigation

EasyPermissions

This project is forked from EasyPermission, modified some few codes to make it more easier to use, which lets you more focus on your business logic.

中文文档

Feature

  • deleted the annotation,only using the CallBack to deal with the permissions callback.
  • use a way like PermissionGen to request the permission, looking more clearly

Usage

This sample is a standard template sample. Whatever your Android.SDK version is, you can write code like this.

/*
    1. you should implement the EasyPermission.PermissionCallback interface.
*/
public class MainFragment extends Fragment implements EasyPermission.PermissionCallback {
      @Override 
      public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        /*
            request permissions like PermissionGen which looks more clearly 
        */
        EasyPermission.with(this)
            .addRequestCode(RC_SMS_PERM)
            .permissions(Manifest.permission.READ_SMS)
            .rationale(getString(R.string.rationale_sms))
            .request();
    }

    @Override 
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
            @NonNull int[] grantResults) {
        /*
            pass the OnRequestPermissionsResult to EasyPermission
        */
        EasyPermission.onRequestPermissionsResult(this, requestCode, permissions, grantResults);
    }

    @Override 
    public void onPermissionGranted(int requestCode, List<String> perms) {
        /*
            all permissions are granted, continue doing your business here
        */
        Toast.makeText(getActivity(), "TODO: SMS Granted", Toast.LENGTH_SHORT).show();
    }

    @Override 
    public void onPermissionDenied(int requestCode, List<String> perms) {
        /*
            some permissions denied, toast a info to user 
        */
        Toast.makeText(getActivity(), "TODO: SMS Denied", Toast.LENGTH_SHORT).show();

        // optional, go to the Settings Screen.
        EasyPermission.checkDeniedPermissionsNeverAskAgain(this, "cannot work without permissions", perms);
    }

    @Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        /*
            backing from Settings Activity, these are standard codes 
        */
        if (requestCode == EasyPermission.SETTINGS_REQ_CODE) {
            if(EasyPermission.hasPermissions(getContext(), Manifest.permission.READ_SMS)){
                // all permissions granted
                // do you business...
            }else{
                // some permissions denied
               Toast.makeText(getContext(),"no permission, can not work",Toast.LENGTH_SHORT).show();
            }
        }
    }
}

About

Simplify Android M system permissions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%