Как известно у Xiaomi есть своя система разрешений и работает она до 6 андроида, где новая система запроса разрешений появилась повсеместно. Я тестирую приложение на xiaomi redmi 3 c андроидом 5.1.1 на борту. При попытке задействовать камеру устройства выплывает сообщение на запрос этого самого разрешения. Но как быть если я хочу проверить дано ли это разрешение до того как будет непосредственно использоваться камера? (например при запуске приложения). Пробовал стандартный способ:
ContextCompat.checkSelfPermission(getActivity().getApplicationContext(), "android.permission.CAMERA");
он вернул 0, хотя разрешение на камеру не было дано.
Также пробовал способ исключительно для xiaomi:
boolean b = hasSelfPermissionForXiaomi(getActivity(),"android.permission.CAMERA");
private boolean hasSelfPermissionForXiaomi(Context context,String permission){
String permissionTop = AppOpsManagerCompat.permissionToOp(permission);
if(permissionTop == null){
// not dangerous
return true;
}
int noteOp = AppOpsManagerCompat.noteOp(context,permissionTop, Process.myUid(),context.getPackageName());
return noteOp == AppOpsManagerCompat.MODE_ALLOWED && checkSelfPermission(context,permission) == PackageManager.PERMISSION_GRANTED;}
Но этот метод тоже дал неверный результат. Господа разработчики, а как вы боретесь с устройствами xiaomi?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
В главном окне (которое появляется после запуска приложения) я должен сделать главное меню, в нем должен быть раздел window, в этом разделе я должен...
Есть список, состоящий из массивов ArrayList<int[]> list1;И второй список поменьше ArrayList<int[]> list2;
Зная имя пакета, хочу открыть информацию о приложении в настройках(где можно остановить приложение, стереть данные, удалить и тп
Получить значение метода onResponse в переменную