在Android开发中,申请个权限本来很简单的事情,可就因为Android6.0出个动态权限,整的那个复杂度是几何倍增。本着我们开发向简的宗旨,今天我在这推荐一个Android6.0动态权限管理库RuntimePermission,下面我就来介绍它的大用处--化繁为简!
首先,看一下效果演示图:
RuntimePermission.gif接下来,我们介绍一下库的功能及其使用方法:
1.功能
Android6.0动态权限管理库,回调模式管理动态权限,无需关注申请权限各种状态,只用关心回调是否有权限,然后做不同逻辑处理!
2.Android Studio集成方法
dependencies{
compile 'com.wkp:RuntimePermission:1.0.6'
//Android Studio3.0+可用以下方式
//implementation 'com.wkp:RuntimePermission:1.0.6'
}
Note:使用版本请以Github为准。
3.使用详解(以申请CAMERA权限为例)
- manifest配置
<!--权限配置-->
<uses-permission android:name="android.permission.CAMERA"/>
- 代码示例
//api 23
@RequiresApi(api = Build.VERSION_CODES.M)
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 点击获取权限
* @param view
*/
public void applyPermission(final View view) {
//权限检查,回调是权限申请结果
RuntimePermissionUtil.checkPermissions(this, RuntimePermissionUtil.CAMERA, new PermissionCallBack() {
@Override
public void onCheckPermissionResult(boolean hasPermission) {
if (hasPermission) {
//直接做具有权限后的操作
Toast.makeText(MainActivity.this, "权限申请成功", Toast.LENGTH_SHORT).show();
((TextView) view).setText("权限申请成功");
}else {
//显示权限不具备的界面
Toast.makeText(MainActivity.this, "权限申请失败", Toast.LENGTH_SHORT).show();
((TextView) view).setText("权限申请失败");
}
}
});
}
}
Note:权限申请采用回调模式,不用在意Android版本,内置判断所有,总是有回调,低版本默认true!
结语
控件支持直接代码创建,还有更多API请观看RuntimePermissionUtil.java内的注释说明。
欢迎大家使用Github地址,感觉好用请给个Star鼓励一下,谢谢!
大家如果有更好的意见或建议以及好的灵感,请邮箱作者,谢谢!
QQ邮箱:
1535514884@qq.com
163邮箱:
15889686524@163.com
Gmail邮箱:
wkp15889686524@gmail.com
网友评论