Android:限制应用不在平板电脑上运行

时间:2013-03-21 06:36:57

标签: android android-manifest android-screen-support android-screen android-permissions

我开发了一个应用程序。现在我希望我的应用程序只能在不在平板电脑上的手机上运行。我搜索了那个并尝试了:

<supports-screens 
    android:smallScreens="true"
    android:normalScreens="false" 
    android:largeScreens="false"
    android:xlargeScreens="false"
    android:resizeable="false" />

我在androidmenifest.xml文件中写这个。但这没用。我的应用程序现在也在平板电脑上运行。

我宣布是错的,或者我应该包括其他任何内容。

请建议我该如何限制我的应用程序在平板电脑上运行。

5 个答案:

答案 0 :(得分:2)

为什么您希望它仅在非平板电脑上运行?你需要一个功能(如短信)吗?如果是这样,请在清单中添加uses-feature标记。如果它基于屏幕尺寸,为什么不只是扩大规模并获得更多用户?

此外,屏幕尺寸对手机和平板电脑没有任何意义。我的手机是Note 2,它的像素比原始平板电脑多。你可以在Play商店中禁用你不想要的所有设备,但这会很痛苦。

答案 1 :(得分:2)

支持屏幕不会限制从Google Play下载的应用程序,如果您想限制,只需使用兼容的屏幕

<compatible-screens>
<screen android:screenSize=["small" | "normal" | "large" | "xlarge"]
        android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"] />
...
</compatible-screens>

阅读this

答案 2 :(得分:1)

支持屏幕将在您将apk文件上传到Google Play商店后生效,直到您不会对此功能产生影响。

另请参阅Filters on Google Play文档以获取更多信息。

答案 3 :(得分:1)

我认为最好的方法是使用:

<uses-feature android:name="android.hardware.telephony" />

这样你可以确保设备没有电话支持,我知道的所有平板电脑都是如此。

答案 4 :(得分:0)

查看有关如何检查SMS(或电话)功能的this answer。当然,最合适的解决方案是在Google Play上进行过滤。但如果你错过了某些东西并希望在运行期间检查,我认为这会有所帮助。