【问题标题】:My App not supporting nexus 7我的应用程序不支持 nexus 7
【发布时间】:2013-04-05 12:30:36
【问题描述】:

我的清单文件(权限和支持屏幕)如下:

<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 作为支持的设备。 有什么猜测吗?

【问题讨论】:

  • 尝试移除支持屏幕
  • 为什么要设置 maxSdkVersion? minSdkVersion 和 targetSdkVersion 是您所需要的。其实建议完全不要设置:developer.android.com/guide/topics/manifest/…
  • 是的,我认为@ArunCThomas 是对的。在 support-screens 中有一些值您没有设置为 true。此外,除非您真的不希望您的应用在具有特定显示尺寸的设备上运行,否则根本不需要这样做。
  • Thanx Brett....链接很有用....我删除了 maxSdkVersion

标签: android android-manifest


【解决方案1】:

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

为确保在启动任何与相机相关的功能之前您有可用的相机,您可以detect whether the device has camera hardware。

【讨论】:

  • 在 Nexus-7 模拟器上,如果 required="true" 设置,那么模拟器前置摄像头也会弹出。但可能是由于该标志设置为 true,goggle 可能不会考虑与 nexus 7 兼容的应用程序。是这样吗?我尝试使用 required="false" 并且相机功能工作正常。那么下次我将新的apk推送到play store时,是否将nexus-7作为支持的设备??
  • 是的,如果您将其设置为 required="false",则 Nexus 7 将显示为受支持的设备。请注意,这意味着其他没有摄像头的设备也可能看起来兼容 - 请确保检测摄像头硬件,以防万一(否则您的应用会在尝试启动摄像头时崩溃)。
猜你喜欢
  • 2013-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多