Genymotion и PackageManager.FEATURE_CAMERA

Я нашел много вопросов, касающихся использования камеры в эмуляторе Android Genymotion. Я, наконец, решил проблему с активацией камеры в Genymotion (хотя эта функция кажется глючной и время от времени работает).

Теперь я пытаюсь проверить доступность камеры, используя следующий код:

PackageManager pm = PhotosSectionFragment.this.getActivity().getPackageManager();
pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)

Но он всегда возвращает мне false, хотя для получения изображения используется следующий блок

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, storeLocation);
startActivityForResult(takePictureIntent, requestId);

работает отлично. Я предполагаю, что это ошибка Genymotion, потому что одна и та же проверка отлично работает в AVD и на реальном устройстве. Но, может быть, есть другой способ сделать ту же проверку, которая также будет работать в Genymotion?


person Demwis    schedule 24.04.2014    source источник
comment
Я попробовал и использовал последнюю версию Genymotion и недавно созданное устройство, которое я получил для pm.hasSystemFeature(PackageManager.FEATURE_CAMERA). Какую версию вы используете?   -  person pcans    schedule 25.04.2014


Ответы (1)


pm.hasSystemFeature(PackageManager.FEATURE_CAMERA) всегда должен возвращать true в Genymotion.

Но иногда, если подключение к веб-камере не удается при запуске устройства, функция будет отключена, и виджет камеры не будет работать до следующего перезапуска.

Я думаю, что это то, что произошло здесь.

person pcans    schedule 25.04.2014
comment
В моем случае камера никогда не подключается при запуске виртуального устройства, и мне нужно вручную активировать ее с помощью виджета «Камера» после инициализации устройства. Можете ли вы сказать, как заставить Genymotion подключать камеру при запуске устройства? - person Demwis; 27.04.2014