android 6.0的权限问题

来源:互联网 发布:产品标贴制作软件 编辑:程序博客网 时间:2024/04/30 10:52


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 回调函数@Overridepublic 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();}

0 0
原创粉丝点击