【发布时间】:2018-02-10 06:31:39
【问题描述】:
我用于读取联系人的权限,以便在清单中分配权限。我的问题是,我不会将 sdk 版本增加到 23 以向用户显示权限对话框(默认情况下由 android 提供)并获得权限并通过它。在 android sdk 版本 22 中。
-
minSdkVersion = 16 targetSdkVersion = 22 compileSdkVersion = 27
I am using this code right now. if (Build.VERSION.SDK_INT >= 23) { if (checkPermission()) { Log.e("permission", "Permission already granted."); } else { requestPermission(); } } private boolean checkPermission() { int result = ContextCompat.checkSelfPermission(fragmentContext, android.Manifest.permission.READ_CONTACTS); if (result == PackageManager.PERMISSION_GRANTED) { return true; } else { return false; } } private void requestPermission() { ActivityCompat.requestPermissions((Activity) fragmentContext, new String[]{android.Manifest.permission.READ_CONTACTS}, REQUEST_READ_CONTACTS); } @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case REQUEST_READ_CONTACTS: if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { Toast.makeText(fragmentContext, "Permission accepted", Toast.LENGTH_LONG).show(); } else { Toast.makeText(fragmentContext, "Permission denied", Toast.LENGTH_LONG).show(); } break; } }
【问题讨论】:
-
那么你的问题是什么?
-
我正在使用允许目标 SDK 版本 22 的检查权限
-
您想为 android SDK
标签: android android-studio android-fragments sdk android-permissions