Я хочу проверить разрешение на чтение SMS. Предоставлено или нет в API 23+. Поэтому я реализовал его следующим образом;Не удалось получить результат разрешения на запуск приложения Android
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_SMS}, PERMISSIONS_REQUEST_READ_SMS);
}
Разрешение на обработку, соотв. следующим образом;
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == PERMISSIONS_REQUEST_READ_SMS) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//Doing task regarding SMS permission.
}else if (grantResults[0] == PackageManager.PERMISSION_DENIED){
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_SMS)) {
//Show an explanation to the user *asynchronously*
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("This permission is important to Read SMS.")
.setTitle("Important permission required");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
ActivityCompat.requestPermissions(GenerateOTPActivity.this, new String[]{Manifest.permission.READ_SMS}, PERMISSIONS_REQUEST_READ_SMS);
}
});
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_SMS}, PERMISSIONS_REQUEST_READ_SMS);
}else{
//Never ask again and handle your app without permission.
}
}
}
}
По умолчанию разрешения SMS предоставляется так checkSelfPermission() Reterns ноль, но когда я вручную отказать в выдаче разрешения от настройки устройства, то также checkSelfPermission() возвращает нулевое значение.
Я не понимаю, как проверить, разрешено ли разрешение SMS или нет. Пожалуйста, предоставьте мне некоторые решения.
делает ваше приложение targetSdkVersion 23 или выше? – Nilabja
- это разрешение в файле 'AndroidManifest.xml' и в этом же коде? потому что есть много разрешений, связанных с SMS – arjun
очистить данные вашего приложения ... от settigns – rafsanahmad007