9

我的应用程序在谷歌播放。我只想让它与智能手机兼容。为此我已经这样做了......

 <uses-sdk
    android:minSdkVersion="4"/>
 <supports-screens
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:xlargeScreens="false" />

我的问题是市场没有过滤平板电脑(mdpi 平板电脑,如三星 tab1)。一件事是有些手机像 WVGA800* (480x800)(mdpi)、WVGA800** (480x800)(ldpi) 在大屏幕和一些平板电脑上在这个范围内。所以我想让手机不是平板电脑那么应该是什么解决方案???

我从这里http://developer.android.com/guide/topics/manifest/supports-screens-element.html找到了一些帮助

 <uses-sdk
    android:minSdkVersion="4"
    android:targetSdkVersion="16" />
 <supports-screens
    android:largeScreens="true"
    android:largestWidthLimitDp="320"
    android:normalScreens="true"
    android:smallScreens="true"
    android:xlargeScreens="false" />

它会在市场上工作吗??..我问这种解决方案是否有人有这方面的经验。我的问题是我无法通过上传新版本的应用程序进行测试。请帮助我..

替代解决方案可以。

提前致谢。

4

3 回答 3

5

您是否在 AndroidManifest.xml 中添加了“兼容屏幕”标签?这是 Google Play 用来根据屏幕尺寸过滤设备的方法。

<compatible-screens>
    <!-- small size screens -->
    <screen android:screenSize="small" android:screenDensity="ldpi" />
    <screen android:screenSize="small" android:screenDensity="mdpi" />
    <screen android:screenSize="small" android:screenDensity="hdpi" />
    <screen android:screenSize="small" android:screenDensity="xhdpi" />
    <!-- all normal size screens -->
    <screen android:screenSize="normal" android:screenDensity="ldpi" />
    <screen android:screenSize="normal" android:screenDensity="mdpi" />
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />      
    <!-- large screens -->
    <screen android:screenSize="large" android:screenDensity="hdpi" />
    <screen android:screenSize="large" android:screenDensity="xhdpi" />
</compatible-screens>

通过不包括 android:screenSize="xlarge",您的应用将不会显示在 10.1" 平板电脑上。android:screenSize="large" 有点棘手。它可能是最大 7" 的设备,因此 Galaxy Tab 7" 属于这个类别。但我不确定较新的 Galaxy S3 或配备 4.75 英寸屏幕的 Galaxy Nexus 是否属于“大”屏幕类别。

尝试将上述代码段添加到您的 AndroidManifest.xml 中,如果 Google Play 在支持的设备列表中包含 7" 平板电脑,您可以随时将其删除。

于 2012-07-16T05:35:40.963 回答
0

正如您所发现的,没有确切或最好的方法。

  • 清单中的配置
  • Google Play 中的设备过滤器

此外,在 Google Play 上显示的应用程序名称中保留有关 Google Play 的特别说明,例如仅电话。

对于大多数属于大屏幕功能的 7" 屏幕,您的应用程序可以在 7" 平板电脑上使用。如果您上传了两个 APK,google play 会为您的设备处理正确的 APK。

如果您的应用程序仅是电话并明确使用平板电脑上不可用的电话功能,那么您可以添加代码检查,即使已安装也不允许用户进一步移动。

由于您对平板电脑不感兴趣,因此您不在乎。

最佳做法是假设 7" 平板电脑属于大屏幕手机,应在开发工作中考虑。因为 android 平板电脑具有包括通话 (VOIP) 在内的所有功能。

于 2014-12-09T18:01:31.120 回答
0

所有 android 平板电脑都在 HONEYCOMB ( level 11, 12, 13) 上运行。您可以禁止在 Honeycomb 上安装。min-sdk现在,您可能想知道如何使用and说明符从 API 级别序列的中间排除一些特定的 API 级别(即:1-15 中的 11,12 和 13)max-sdk,因为它们不支持范围。

这是解决方案:

您可以在将其发布到 Google Play 时执行此操作。在 Android Developer Console 中,上传应用程序时,进入 APK 文件选项卡并检查高级模式。它允许您上传 2 个具有不同 sdk 级别范围的 apk 文件。但不要忘记为它们设置不同的版本代码。

控制台中的所有统计信息都将汇总为两个 apk 文件,因为它是一个。

因此,您可以创建两个 apk(其中一个支持 1 到 10 级,另一个支持 14 和 15 级),这将阻止您的应用程序安装在平板电脑上。:-)

资源

于 2012-07-16T05:58:45.030 回答