2013-11-28 3 views
0

Я пытаюсь определить, имеет ли конкретное устройство Android камеру. Документация для состояний android.hardware.Camera.open()Определение, существует ли камера для Kindle

Создает новый объект камеры для доступа к первой обращенной к камере на устройстве. Если устройство не имеет обратную камеру, это возвращает значение null.

The Kindle Я тестирую (первое поколение, я считаю) не имеет камеры, и все же open() возвращается не null. Почему это? Возможно, потому, что Amazon запускает разветвленную версию Android с различным поведением? Есть ли другой способ определить, есть ли у устройства камера?

+0

Что такое зажигательный огонь? – CommonsWare

+0

Довольно уверен, что это первое поколение, в котором нет камеры. Например, когда я запускаю приложение FB, он позволяет загружать фотографию, а не фотографировать. –

ответ

1

Может быть, это может помочь вам

/** 
* Determines if the current device can handle an image capture action. 
* @return true if the device can handle an image capture action. False if it cannot. 
*/ 
protected boolean canHandleCameraIntent() { 
    final Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    final List<ResolveInfo> results = getPackageManager().queryIntentActivities(intent, 0); 
    return (results.size() > 0);    
} 
более

содержание в https://developer.amazon.com/sdk/fire/specifications.html

Update

я не могу проверить, что для вас, но я думаю, что это также может помочь вам

http://developer.android.com/reference/android/content/pm/PackageManager.html

PackageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY); 
+0

OP использует 'android.hardware.Camera' для работы с камерой напрямую, а не через стороннее приложение. – CommonsWare

+0

, но с этой функцией он может продолжать работать с камерой напрямую, если камера существует на разжигании, нет? – GhostDerfel

+0

Это сделало трюк! Благодаря! –

Смежные вопросы