Je fais une application pour la livraison de nourriture. Dans mon application lorsque l'utilisateur utilise la version de téléphone Android de guimauve alors mon application ne demande pas à la première fois pour la permission de lire le sms. mais lorsque l'utilisateur ouvre l'application la prochaine fois, mon application demande la permission. Je ne sais pas quel est le problème. Je veux que lorsque l'utilisateur ouvre l'application première autorisation devrait demander. Au lieu de la deuxième fois.Mon application Ne demande pas pour la première fois l'autorisation d'exécution pour la guimauve?
C'est ma méthode pour demander la permission, je fais appel de cette méthode dans ma onCreate()
méthode de mon activité:
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);
}
}
}
et c'est la méthode de remplacement 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);
}
}
Quelqu'un peut-il dire moi Comment puis-je faire l'application qu'elle demande la permission à la première fois pas la deuxième fois?
ce qui est la '' 'targetSdkVersion'''? –
Vérifiez simplement si votre version cible est 22 –
Je recommande cette lecture: https://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en m'a aidé . –