2013-04-05 92 views
5

我的清单文件(权限&支持屏)如下:我的应用程序不支持的Nexus 7

<uses-sdk 
     android:maxSdkVersion="17" 
     android:minSdkVersion="10" 
     android:targetSdkVersion="17" /> 

    <permission 
     android:name="com.ecw.healow.permission.C2D_MESSAGE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="my_app_package.permission.C2D_MESSAGE" /> 
    <!-- App receives GCM messages. --> 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
    <!-- GCM requires a Google account. --> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <!-- Keeps the processor from sleeping when a message is received. --> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_CALENDAR" /> 
    <uses-permission android:name="android.permission.WRITE_CALENDAR" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
    <uses-feature android:name="android.hardware.camera" android:required="true"/> 
    <supports-screens 
     android:anyDensity="true" 
     android:largeScreens="true" 
     android:normalScreens="true" 
     android:smallScreens="true" /> 

上传到Play商店后,它不会显示的Nexus-7支持的设备。 任何猜测?

+0

尝试删除支持屏幕 – 2013-04-05 04:13:24

+1

为什么要设置maxSdkVersion? minSdkVersion和targetSdkVersion是你应该需要的。实际上,建议不要设置它:http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#max – 2013-04-05 04:14:03

+0

是的,我认为@ArunCThomas是正确的。在支持屏幕中,有一些值没有设置为true。此外,除非您真的不希望您的应用在具有特定显示尺寸的设备上运行,否则完全不需要。 – 2013-04-05 04:17:56

回答

13

虽然Nexus 7有一个前置摄像头,根据Getting Your App Ready for Jelly Bean,需要一个摄像头意味着您的应用程序将显示为与Nexus 7不兼容。如果您需要Nexus 7兼容性,请设置required =“false”。

为了确保您在启动任何摄像头相关功能之前可以使用摄像头,您可以使用detect whether the device has camera hardware

+0

在Nexus-7仿真器上,如果需要=“true”被设置,那么模拟器前置摄像头也会弹出。但可能是由于该标志设置为true,护目镜可能不会考虑与nexus 7兼容的应用程序。是这样吗?我尝试与required =“false”和相机功能工作正常。所以下次当我推新的apk来玩商店时,它会以nexus-7作为支持的设备吗? – hemu 2013-04-05 05:26:15

+1

是的,如果您将它设置为required =“false”,则Nexus 7将显示为受支持的设备。请注意,这意味着没有相机的其他设备也可能会出现兼容性 - 请确保您检测相机硬件,以防万一(否则,您的应用在试图启动相机时会崩溃)。 – ianhanniballake 2013-04-05 05:36:00

+0

是的......我申请了一张相机检查.... thanx – hemu 2013-04-05 05:37:41

相关问题