вам нужно попросить разрешения в зефир, нет другого пути, чтобы преодолеть эту проблему.
проверить разрешение вы можете использовать этот
checkSelfPermission(Manifest.permission.READ_CONTACTS);
Если разрешение задается пользователем, то он вернет 0 еще вернется 1.
если разрешение не дано, запрашивает у пользователя разрешение
requestPermissions(new String[]{Manifest.permission.READ_CONTACTS},
10);
и проверить, были ли пользователь получил разрешение или нет
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case 10:
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Permission Granted
Toast.makeText(MainActivity.this, "READ_CONTACTS granted", Toast.LENGTH_SHORT)
.show();
} else {
// Permission Denied
Toast.makeText(MainActivity.this, "READ_CONTACTS Denied", Toast.LENGTH_SHORT)
.show();
}
break;
default:
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
для получения дополнительной информации см this
, если вы хотите, чтобы оказать поддержку в предварительно зефира устройств также необходимо использовать
ContextCompat.checkSelfPermission()
ActivityCompat.requestPermissions()
остальные все такие же, как я уже упоминал выше.
http://developer.android.com/training/permissions/requesting.html – Madhur
можете ли вы добавить код разрешений, который вы используете? У меня есть приложение, чтобы играть в магазин, который использует камеру, и он работает с зефиром! Когда вы загружаете приложение из Google Play, при его сбое вы можете получить ошибку журнала. Вы тоже можете публиковать журнал? – Dario
В настройках по умолчанию разрешение камеры отклоняется для этого приложения. Если вы даете разрешение на установление, то приложение прекрасно работает –