我正在为食物交付做一个应用程序。在我的应用程序,当用户使用Android手机版棉花糖,那么我的应用程序不会在第一时间要求读取短信的权限。但是当用户下次打开应用程序时,我的应用程序要求获得许可。我不知道是什么问题。我希望当用户第一次打开应用时,权限应该问第二次。我的应用程序首次不询问棉花糖的运行时权限?
这是我的要求,我在我的我的活动onCreate()
方法调用此方法的认可方式:
private void permissionForMarshMallow() {
int permissionCheck = ContextCompat.checkSelfPermission(LoginActivity.this,
Manifest.permission.READ_SMS);
if (ContextCompat.checkSelfPermission(LoginActivity.this,
Manifest.permission.READ_SMS)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(LoginActivity.this,
Manifest.permission.READ_SMS)) {
Log.e("permission...granted", "permission granted............");
} else {
ActivityCompat.requestPermissions(LoginActivity.this,
new String[]{Manifest.permission.READ_SMS},
REQUEST_CODE_ASK_SINGLE_PERMISSION);
}
}
}
这也是覆盖方法onRequestPermissionsResult()
:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case REQUEST_CODE_ASK_SINGLE_PERMISSION:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
} else {
// Toast.makeText(LoginActivity.this, "Permission Denied", Toast.LENGTH_SHORT).show();
}
break;
default:
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
谁能告诉我怎样才能让它不是第一次要求获得许可的应用?
什么是'''targetSdkVersion'''? –
只需检查您的目标版本是否为22 –
我推荐此阅读材料:https://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en帮助我。 –