PermissionsDispatcher权限申请插件

QuibblerQuibbler 2021-01-08 约 6 分钟 1969 次阅读

PermissionsDispatcher权限申请插件

AndroidStudio有丰富的插件库,插件开发起来也不难,以后有好的想法,可以自己开发一个插件。之前介绍了一个权限开源库PermissionsDispatcher:权限申请注解,对应的还有一个插件,都是为了方便开发者提高开发效率。

GitHub:github/permissions-dispatcher/permissions-dispatcher-plugin

1、安装插件

Settings > Plugins中搜索PermissionsDispatcher,安装插件。是非常受欢迎的一个插件,下载安装量比GitHub上的start还多。


2、使用插件

开发者开发的插件菜单都选择放在Generate选项这里

2.1、添加依赖

项目中如果还没有添加PermissionsDispatcher依赖,Alt + Ins快速打开菜单,选择Add PermissionsDispatcher dependencies

插件会帮我们自动添加对应的依赖到build.gradle中,和jcenter()仓中的版本不太一样。

implementation 'com.github.hotchemi:permissionsdispatcher:3.1.0'
    annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:3.1.0'

2.2、生成权限申请相关代码

依赖配置好之后,在Activity或者Fragment代码中选择Generate Runtime Permissions选项

弹出的菜单选择需要动态申请的权限,这里直观的进行了分类。勾选需要的权限和注解,以及注解对应的方法(如果不存在会自动创建)

3、生成的代码

插件会帮开发者生成好代码,重写onRequestPermissionsResult()权限回调方法。开发者只需要专注实现自己的业务方法即可。

@RuntimePermissions
	public class PermissionActivity3 extends AppCompatActivity {
	
	    @Override
	    protected void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState);
	        setContentView(R.layout.activity_permission);
	    }
	    
	    @NeedsPermission({Manifest.permission.SEND_SMS, Manifest.permission.RECEIVE_SMS, Manifest.permission.READ_SMS})
	    void sendSms() {
	        //
	    }
	    
	    @OnShowRationale({Manifest.permission.SEND_SMS, Manifest.permission.RECEIVE_SMS, Manifest.permission.READ_SMS})
	    void showTips(final PermissionRequest request) {
	    }
	    
	    @OnPermissionDenied({Manifest.permission.SEND_SMS, Manifest.permission.RECEIVE_SMS, Manifest.permission.READ_SMS})
	    void onDenied() {
	    }
	    
	    @Override
	    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
	        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
	        PermissionActivity3PermissionsDispatcher.onRequestPermissionsResult(this, requestCode, grantResults);
	    }
	    
	}

看到这么多大牛写出受开发者欢迎的插件、开源库,很是羡慕,不断沉淀积累也要写一个自己的插件。

相关推荐

Honeycam 最好的GIF动图软件
精选分享

Honeycam 最好的GIF动图软件

Honeycam 最好的GIF动图软件推荐一款Gif制作软件:Honeycam,是一款高质量的GIF动图制作和编辑器。以前将视频转GIF,录制屏幕动图要费很大功夫,这款软件真的非常简洁好用,值得收藏,博客上的GIF都是用Honeycam录制的。官网:Honeycam1、简洁的界面下载安装完成后打开,主界面很简洁。2、录制屏幕选择录制,调整好要录制的区域录制完成后,可以编辑每个帧,调整帧时长,删除多

2.6k
国内开源镜像站点
精选分享

国内开源镜像站点

国内开源镜像站点开源,(Open Source)全称为开放源代码。开源就是要用户利用源代码在其基础上修改和学习的,但开源系统同样也有版权,同样也受到法律保护。国内的高校和一些企业也建立了开源镜像站点,支持开源。从开源站点上面可以下载很多开源资源(Android源码),上大学的时候就在这些镜像网站上下载Linux发行版、Qt等软件。 清华大学:http://mirrors.tuna.tsinghua

2.6k
牛人快跑:Boss 直聘自动化求职工具
置顶 精选分享

牛人快跑:Boss 直聘自动化求职工具

找工作最难熬的不是面试,而是投递期的无意义消耗:同一句打招呼发两百遍,眼睛还要替平台把关——筛掉皮包公司、跳过半年不登录的招聘方、避开挂羊头卖狗肉的僵尸职位。牛人快跑 GeekGeekRunhttps://github.…

160