dependencies {
compile 'pub.devrel:easypermissions:1.0.1'
}
<code> /**
*
* @param context
* return true:已经获取权限
* return false: 未获取权限,主动请求权限
*/
public static boolean checkPermission(Activity context,String[] perms) {
return EasyPermissions.hasPermissions(context, perms);
}</code>
EasyPermissions.hasPermissions():
<code><code><code> /**
* 请求权限
* @param context
*/
public static void requestPermission(Activity context,String tip,int requestCode,String[] perms) {
EasyPermissions.requestPermissions(context, tip,requestCode,perms);
}</code></code></code>
EasyPermissions.requestPermissions():
<code><code><code>public class MainActivity extends AppCompatActivity implements EasyPermissions.PermissionCallbacks{
//.....省略部分代码。
/**
* 重写onRequestPermissionsResult,用于接受请求结果
*
* @param requestCode
* @param permissions
* @param grantResults
*/
@Override
public void onRequestPermissionsResult(int requestCode,
@NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
//将请求结果传递EasyPermission库处理
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
/**
* 请求权限成功。
* 可以弹窗显示结果,也可执行具体需要的逻辑操作
*
* @param requestCode
* @param perms
*/
@Override
public void onPermissionsGranted(int requestCode, List<string> perms) {
ToastUtils.showToast(getApplicationContext(), "用户授权成功");
}
/**
* 请求权限失败
*
* @param requestCode
* @param perms
*/
@Override
public void onPermissionsDenied(int requestCode, List<string> perms) {
ToastUtils.showToast(getApplicationContext(), "用户授权失败");
/**
* 若是在权限弹窗中,用户勾选了'NEVER ASK AGAIN.'或者'不在提示',且拒绝权限。
* 这时候,需要跳转到设置界面去,让用户手动开启。
*/
if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
new AppSettingsDialog.Builder(this).build().show();
}
}
}</string></string></code></code></code>
<code><code><code><code><code><code><code><code> @AfterPermissionGranted(Constance.WRITE_PERMISSION_CODE) 是可选的
public void onPermissionsSuccess() {
ToastUtils.showToast(getApplicationContext(), "用户授权成功");
}</code></code></code></code></code></code></code></code>
<code><code><code><code><code><code><code><code><code> /**
* 请求权限失败
*
* @param requestCode
* @param perms
*/
@Override
public void onPermissionsDenied(int requestCode, List<string> perms) {
ToastUtils.showToast(getApplicationContext(), "用户授权失败");
/**
* 若是在权限弹窗中,用户勾选了'NEVER ASK AGAIN.'或者'不在提示',且拒绝权限。
* 这时候,需要跳转到设置界面去,让用户手动开启。
*/
if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
new AppSettingsDialog.Builder(this).build().show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
//当从软件设置界面,返回当前程序时候
case AppSettingsDialog.DEFAULT_SETTINGS_REQ_CODE:
//执行Toast显示或者其他逻辑处理操作
break;
}
}</string></code></code></code></code></code></code></code></code></code>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有