2015-11-04 47 views
3

我在AndroidManifest.xml文件=「假」,我有這兩條線:用途特徵的android:需要被忽視

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

但是當我上傳到谷歌播放,則表明相機需要。如果我使用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"/> 
+0

爲什麼要在不需要相機硬件的情況下詢問相機的權限? –

+0

在應用程序中有一個地方可以打開相機拍攝照片。但是這是可選的,並不需要其他應用程序正常運行。 – JeffT

+0

不會解決您的問題,但應該使用'android.hardware.camera2',因爲'android.hardware.camera'在API 21中已被棄用。http://developer.android.com/reference/android/hardware/ Camera.html – Melvin

回答

3

嘗試增加這一額外的標籤到你的Android清單:

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

這種情況的原因是,according to the docs,在android.permission.CAMERA許可意味着需要以下2個功能:android.hardware.cameraandroid.hardware.camera.autofocus

將帖子

此外,如果您有任何<uses-library>標籤,你表現的圖書館之一,可能需要一個攝像頭功能。

+0

感謝您的回覆。我已經在那裏,並編輯了我的答案,以提供androidmanifest.xml的其餘部分我的「使用」部分 – JeffT

+1

您在manifest中是否有任何'標記?如果是這樣,其中一個庫可能需要相機功能。 – cybersam

+0

我想你在這裏的東西 - 我參考PDF417.mobi的類。如果他們以某種方式使相機成爲必需的,有什麼方法可以覆蓋它嗎? – JeffT

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" />