-
Notifications
You must be signed in to change notification settings - Fork 225
XPermission 动态权限操作工具
王兴春 edited this page Mar 21, 2017
·
4 revisions
简化Android动态权限管理的操作
以拨打电话为例
<uses-permission android:name="android.permission.CALL_PHONE"/>
在XActivity中已经进行了全局onRequestPermissionsResult()方法的回调,避免每个页面都要写。
XPermission.requestPermissions(Context context,
int requestCode, String[] permissions, OnPermissionListener listener)
/**
申请权限
参数一:
这里主要注意这个Context必需是一个Activity
如果在Activity中可以传this;
如果在Fragment中传getActivity();
如果在View中传getContext();
参数二:
发起申请的code,在onRequestPermissionsResult时会调用,请不要设置为一样的值
参数三:
要申请的权限数组,支持批量申请
参数四:
申请结果回调监听
*/
XPermission.requestPermissions(this, 100, new String[]{Manifest.permission
.CALL_PHONE}, new XPermission.OnPermissionListener() {
//权限申请成功时调用
@Override
public void onPermissionGranted() {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:18685555855"));
startActivity(intent);
}
//权限被用户禁止时调用
@Override
public void onPermissionDenied() {
//给出友好提示,并且提示启动当前应用设置页面打开权限
XPermission.showTipsDialog(XPermissionDemoActivity.this);
}
});
从小的功能做起,只做必要的封装,让开发更加简单 ———— XFrame