背面カメラが必要なアプリの準備ができています。明らかに<uses-permission android:name="android.permission.CAMERA" />
マニフェストに許可がありますが、これは前面カメラしかない Nexus 7 タブレットなどのデバイスを除外するものではありません。
デバイスを通過して手動で除外するのではなく、どうすればこれを行うことができますか?
私はプログラム的な答えしか知りません。この質問が示すように、使用できます
PackageManager pm = context.getPackageManager();
return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA);
デバイスに背面カメラがない場合、これは false を返します (Nexus 7 では false)。
旗
FEATURE_CAMERA_FRONT
代わりにまだ true になります。したがって、最初のアクティビティの起動時にこのテストを使用し、アプリの説明に大きな警告を表示できます。
ただし、手動でデバイスを除外する以外に、マニフェストを使用してこの基準でデバイスを除外する方法はわかりません。
編集:関連するものとしてリンクされている別の質問は、マニフェストのこの uses-feature フラグを指摘しています:
<uses-feature android:name="android.hardware.camera" android:required="false"/>
ドキュメントによると:
アプリケーションはデバイスのカメラを使用します。デバイスが複数のカメラをサポートしている場合、アプリケーションは画面とは反対側のカメラを使用します。
したがって、前面のみのデバイスの場合は少しあいまいです。