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

5

我开发了一个应用程序。现在我想让我的应用程序只在手机上运行,而不在平板电脑上运行。我搜索了解决方法并尝试如下:

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

我在androidmenifest.xml文件中编写了这段代码。但它没有用。我的应用现在也在平板电脑上运行。
我的声明是否有误,还是我需要包含其他内容。
请建议我应该怎么样限制我的应用程序不在平板电脑上运行。

这不会限制您的应用程序运行,但对于此类设备,它将限制应用程序在 Google Play 中的显示。 - Athul Harikumar
将您的布局文件保存在layout-swxxxdp或layout-hxdpi等文件夹中。 - Charan Pai
5个回答

3

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

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

这样可以确保设备不支持电话功能,这在我所知道的所有平板电脑上都是这样的情况。

2

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

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

阅读此文档


2
为什么您希望它只在非平板电脑上运行?是否需要某些功能(如短信)?如果是这样,请在您的清单中添加uses-feature标签。如果是基于屏幕尺寸,为什么不扩大比例并获得更多用户呢?
此外,屏幕大小对于手机和平板电脑来说意义不大。我的手机是Note 2,比第一代平板电脑具有更多像素。您可以在Play商店禁用所有不需要的设备,但这会很麻烦。

是的,我有短信功能。而且这个应用程序的要求是不能在平板上运行。感谢您宝贵的建议。 - Manoj Fegde
2
尝试为功能android.hardware.telephony添加uses-feature。只有当它具有蜂窝电台时才会安装。除此之外,没有其他方法可以通过编程实现,您不能依赖dpi或屏幕大小-更大的手机和较小的平板电脑将破坏任何尝试这样做的企图。我建议与客户交谈-很可能他们不希望它不出现在平板电脑上,因为它们是平板电脑,而是希望它不出现在设备无法发送短信的情况下,因为那样应用程序将无法工作。 - Gabe Sechan

1
上传apk文件到Google Play商店后,支持屏幕将会生效,直至您使该功能失效。
此外,请查看Google Play上的过滤器文档以获取更多信息。

0

请看 这个答案,了解如何检查短信(或电话)功能。当然,最合适的解决方案是在 Google Play 上过滤应用程序。但如果您错过了什么并且想在运行时进行检查,我认为这会有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接