您的位置:首页 > 移动开发 > Android开发

android 6.0的权限问题

2016-08-01 16:48 344 查看
1.
private static final int PERMISSIONS_REQUEST_READ_CONTACTS = 100;
private PermissionGranted permissionGranted;
//先申请权限 6.0以上的去申请 以读取联系人为例
public void canPermissionGranted(PermissionGranted permissionGranted)
{
// Check the SDK version and whether the permission is already granted or not.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && NVideoPhone.getContext().checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED)
{
this.permissionGranted = permissionGranted;
requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, PERMISSIONS_REQUEST_READ_CONTACTS);
//After this point you wait for callback in onRequestPermissionsResult(int, String[], int[]) overriden method
}
else
{
// Android version is lesser than 6.0 or the permission is already granted.
permissionGranted.PermissionGranted();
}
}
//申请权限的activity 回调函数
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions,
int[] grantResults) {
if (requestCode == PERMISSIONS_REQUEST_READ_CONTACTS)
{
if (grantResults[0] == PackageManager.PERMISSION_GRANTED)
{
// Permission is granted
permissionGranted.PermissionGranted();
}
else
{
permissionGranted.PermissionNotGranted();
ToastKit.showToast("Until you grant the permission, we canot display the names");
}
permissionGranted = null;
}
}
2.
自定义了一个权限控制的接口 在 调用权限的activity中实现该接口
/*** Created by PC on 2016/7/26.*/public interface PermissionGranted{void PermissionGranted();void PermissionNotGranted();}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: