6.0权限动态适配(五)

来源:互联网 发布:什么是软件 编辑:程序博客网 时间:2024/05/22 05:10

功能

动态申请权限,支持Activity与Fragment,并支持单或多个。但拒绝后不再弹出对话框。

用法

  • Grab via Maven or Gradle:

    <dependency>        <groupId>com.lovedise</groupId>        <artifactId>permissiongen</artifactId>        <version>0.0.6</version></dependency>orcompile 'com.lovedise:permissiongen:0.0.6'
  • Usage When you request permissions.

    • Activity

      PermissionGen.with(MainActivity.this)    .addRequestCode(100)    .permissions(        Manifest.permission.READ_CONTACTS,        Manifest.permission.RECEIVE_SMS,        Manifest.permission.WRITE_CONTACTS)    .request();
    • Fragment

      PermissionGen.needPermission(ContactFragment.this, 100,    new String[] {        Manifest.permission.READ_CONTACTS,        Manifest.permission.RECEIVE_SMS,        Manifest.permission.WRITE_CONTACTS    }  );
  • Override the onRequestPermissionsResult in activity or fragment and input this code.

    @Override public void onRequestPermissionsResult(int requestCode, String[] permissions,        int[] grantResults) {    PermissionGen.onRequestPermissionsResult(this, requestCode, permissions, grantResults);}
  • When it succeeded in obtaining permission.

    @PermissionSuccess(requestCode = 100)  public void doSomething(){    Toast.makeText(this, "Contact permission is granted", Toast.LENGTH_SHORT).show();}
  • When it failed in obtaining permission.

    @PermissionFail(requestCode = 100)  public void doFailSomething(){    Toast.makeText(this, "Contact permission is not granted", t.LENGTH_SHORT).show();}

完整代码

https://github.com/snpmyn/PermissionDynamic.git

原著

PermissionGen