2013-07-29 68 views
1

我準備好了一個應用程序,需要有後置攝像頭。顯然,它在清單中具有<uses-permission android:name="android.permission.CAMERA" />權限,但這並不排除諸如僅具有前置攝像頭的Nexus 7平板電腦等設備。如何排除沒有後置攝像頭的設備?

缺少通過手動排除設備我該怎麼做?

回答

0

我只知道程序上的答案。 作爲this question表示,你可以使用

PackageManager pm = context.getPackageManager(); 
return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA); 

這將返回false,如果設備沒有後置攝像

旗(上了Nexus 7,以假)

FEATURE_CAMERA_FRONT 

仍然會相反。因此,您可以在啓動您的第一個活動時使用此測試,並在您的應用說明中加上一個大警告。

但是,我不知道如何使用清單來排除此條件下的設備,而不是手動排除設備。

編輯:鏈接爲相關點出這個使用特徵標誌清單另一個問題:

<uses-feature android:name="android.hardware.camera" android:required="false"/> 

根據文檔:

該應用程序使用設備的攝像頭。如果設備支持多個攝像頭,則應用程序會使用背離屏幕的攝像頭。

因此,對於僅面向前方的設備而言,它有點模糊。

0

您可以使用inandroid中給出的uses-feature標籤。你必須在清單文件中聲明這個標籤。它會根據給定的條件自動過濾設備。只要使用這種使用特徵標籤清單中是這樣的:

<uses-feature android:name="android.hardware.camera" android:required="true" /> 

更多細節遵循以下鏈接: - Android Uses Premission

+0

即使你不使用Android:要求=「真」,在谷歌播放系統假定這是一個必需的屬性和過濾器。 –

相關問題