5

私の AndroidManifest.xml ファイルには、次の 2 行があります。

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

しかし、Google Play にアップロードすると、カメラが必要であることが示されます。aapt ツールを使用すると、「uses-feature: name='android.hardware.camera'」と表示されます。

私のコードを無視し、デバイスにカメラが必要な理由を知っている人はいますか?

編集:参照用の「用途」セクション全体を次に示します。

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

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

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

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

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

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

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

<uses-permission                        android:name="android.permission.VIBRATE" />
<uses-feature android:required="false"  android:name="android.hardware.vibrate" />

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

<uses-permission                        android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission                        android:name="asn.apps.asncrm.permission.C2D_MESSAGE" />
<uses-permission                        android:name="com.google.android.c2dm.permission.SEND" />
<uses-permission                        android:name="android.permission.WAKE_LOCK" />

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

2 に答える 2

7

この追加タグを Android マニフェストに追加してみてください。

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

この理由は、ドキュメントによると、android.permission.CAMERA許可は次の 2 つの機能が必要であることを意味するためです:android.hardware.cameraandroid.hardware.camera.autofocus.

[編集]

また、<uses-library>マニフェストにタグがある場合、ライブラリの 1 つにカメラ機能が必要な場合があります。

于 2015-11-06T23:02:27.733 に答える
0

カメラのアクセス許可をオーバーライドする、つまりカメラのないデバイスでアプリを使用できるようにするアプリケーションでは、以下に示すようにマニフェストのアクセス許可を宣言します。カメラのないデバイスの Play ストアでアプリを利用できることを確認しました。

これが問題の解決に役立つかどうかはわかりませんが(サードパーティのライブラリの使用について言及したため)、試してみてお知らせください。

<uses-permission android:name="android.permission.CAMERA" />

<uses-feature
    android:name="android.permission.CAMERA"
    android:required="false" /> // this is the one I have extra, please add and test

<uses-feature
    android:name="android.hardware.camera"
    android:required="false" />
<uses-feature
    android:name="android.hardware.camera.autofocus"
    android:required="false" />
于 2015-11-12T05:31:44.307 に答える