我开发了一个应用程序。现在我希望我的应用程序只能在手机上运行,而不能在平板电脑上运行。我搜索了一下,并尝试如下:
<supports-screens
android:smallScreens="true"
android:normalScreens="false"
android:largeScreens="false"
android:xlargeScreens="false"
android:resizeable="false" />
我写在androidmenifest.xml文件。但这没有用。我的应用程序现在也在平板电脑上运行了。
i declare是错误的,或者我应该包含其他内容。
请建议我如何限制我的应用程序在平板电脑上运行。
我认为最好的方法是使用:
<uses-feature android:name="android.hardware.telephony" />
这样可以确保设备没有电话支持,我知道的所有平板电脑都是这样的。
为什么你希望它只能在非平板电脑上运行?是否有你需要的功能(如短信)?如果是这样,请在清单中添加use -feature标记。如果它是基于屏幕尺寸,为什么不扩大规模以获得更多用户呢?
此外,屏幕尺寸对于手机和平板电脑来说没有任何意义。我的手机是Note 2,它的像素比第一代平板电脑高。你可以在play store中禁用所有你不想要的设备,但是这会很痛苦。
支持屏幕不会限制从google play下载的应用程序,如果你想限制,只需使用兼容的屏幕
<compatible-screens>
<screen android:screenSize=["small" | "normal" | "large" | "xlarge"]
android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"] />
...
</compatible-screens>
读这本
支持屏幕将在您将apk文件上传到Google playstore后生效,直到您不会受到此功能的影响。
更多信息请参见Google Play过滤器文档
看看这个关于如何检查SMS(或电话)功能的答案。当然,最合适的解决方案是在Google Play上进行过滤。但是,如果您错过了一些东西,并希望在运行时检查,我认为这会有所帮助。