2

可能重复:
阻止平板电脑下载应用程序

如果我希望我的应用程序仅在智能手机上而不是在平板电脑上运行,清单中的这些行是否足够?

<compatible-screens>
    <!-- all 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" />
    <!-- all large size screens -->
    <screen android:screenSize="large" android:screenDensity="ldpi" />
    <screen android:screenSize="large" android:screenDensity="mdpi" />
    <screen android:screenSize="large" android:screenDensity="hdpi" />
    <screen android:screenSize="large" android:screenDensity="xhdpi" />
</compatible-screens>
4

3 回答 3

1

如果您使用的是 Play 商店,您可以在发布时选择哪些设备可以使用他们自己的系统下载您的应用程序。

以下是您需要的相关信息:https ://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=1286017&ctx=go

于 2013-01-22T13:47:26.593 回答
1

好吧,这取决于您认为“平板电脑”是什么。

您的<compatible-screens>元素将阻止 Play 商店将您的应用分发到-xlarge设备(10 英寸和更大的对角屏幕尺寸)。它不会阻止 Play 商店将您的应用分发到-large设备(5 英寸到 10 英寸),其中包括许多设备营销人员将术语“平板电脑”。

于 2013-01-22T13:42:28.683 回答
1

不,这还不够,因为有大屏幕平板电脑(例如,您的应用程序仍可在 7 英寸平板电脑上运行)。你不能阻止有人下载你的应用,因为它非常抽象。Galaxy Note 是平板电脑还是手机?你想让你的应用在上面运行吗?如您所见,您可以在清单中使用此属性,但无法很好地控制设备类型。

我的建议是以编程方式定义屏幕大小并通知用户该应用程序与此设备不兼容。检查屏幕类型是否满足您的条件 - 如果是 - 运行应用程序,如果不是 - 显示不幸的是屏幕不受支持的 Activity。或者调整您的应用程序以支持多种屏幕尺寸。

除非您有充分的理由,否则强烈建议不要使用此属性:

警告:通常,您不应使用此清单元素。使用此元素可以显着减少应用程序的潜在用户群,因为如果用户的设备具有您未列出的屏幕配置,则不允许他们安装您的应用程序。当应用程序绝对不能与所有屏幕配置一起使用时,您应该仅将其用作最后的手段。而不是使用此元素,您应该遵循支持多个屏幕的指南,以便通过为不同的屏幕尺寸和密度添加替代资源来提供对多个屏幕的完整支持。

于 2013-01-22T13:43:58.910 回答