我正在爲食物交付做一個應用程序。在我的應用程序,當用戶使用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幫助我。 –