1
嘿,我使用23.下文请求允许为
我要问用户的应用程序,如果他们想使读取触点,所以我有
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
我想一个API级的选项使用此代码在运行时
private void checkPermissions() {
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.WRITE_CALENDAR)
!= PackageManager.PERMISSION_GRANTED) {
// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.WRITE_CALENDAR)) {
Log.d("ABC", "1");
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.WRITE_CALENDAR},
MY_PERMISSIONS_REQUEST_READ_CONTACTS);
}else {
// No explanation needed, we can request the permission.
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.WRITE_CALENDAR},
MY_PERMISSIONS_REQUEST_READ_CONTACTS);
Log.d("ABC", "2");
}
}
}
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_READ_CONTACTS: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Log.d("ABC", "GRANTED");
} else {
Log.d("ABC", "Denied");
}
return;
}
}
}
征得他的许可,但如果我不包括它会自动拒绝该请求,如果我这样做从来没有需要问的权限。
我该如何做到这一点,所以联系人不包括在应用程序的权限,但我可以在运行时询问他们?谢谢
你不能做到这一点,你必须在清单中添加必需的权限。 –
@AkshayBhat所以没有办法在运行时询问权限而无需在安装过程中使用它们? –
不,您不能在运行时添加清单中的权限 –