如何限制android应用仅限于平板电脑?
我正在开发一款只针对平板电脑而不是手机的应用程序 这个代码是否足以实现我的目标?是否有任何方法可以测试它或谷歌播放它自己的排序并呈现给用户 下面是我尝试过的代码。但我不知道如何测试它如何限制android应用仅限于平板电脑?,android,Android,我正在开发一款只针对平板电脑而不是手机的应用程序 这个代码是否足以实现我的目标?是否有任何方法可以测试它或谷歌播放它自己的排序并呈现给用户 下面是我尝试过的代码。但我不知道如何测试它 <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="18" /> <supports-screens android:largeScreens="true" android:normalScreens="false" an
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="18" />
<supports-screens
android:largeScreens="true"
android:normalScreens="false"
android:smallScreens="false"
android:requiresSmallestWidthDp="600"
android:xlargeScreens="true" />
是否应随支持屏幕标签一起提供android:anyDensity=“true”?或者只保留该属性。我想在所有种类的平板电脑上使用我的应用程序
在这种情况下,任何帮助都是值得赞赏的。提前谢谢。似乎没问题,据我所知应该可以用 想想你对平板电脑的定义。是什么让你的应用程序比7英寸的平板电脑更不适合6英寸的手机 在你把它上传到Google play商店之前,你无法真正测试它。manifest.xml中的这些过滤器由Google Play商店使用,而不是在安装应用程序时使用。他们只是确保有人在他的平板电脑上找不到该应用程序,并且“安装”按钮在网站上无法工作
我想你可以通过上传你的APK而不是发布来测试它。它将为您提供当前设置支持的设备列表。无论您提供的设备是否正确,您都必须在将加载的平板电脑上进行测试,对于手机,它将不会启动 然后进入安卓市场出版商页面 1.确保您的应用已上载 2.单击你的应用程序名称 3.向下滚动至显示“显示设备”的位置 4.单击该按钮,您可以禁止所有手机下载您的应用程序
如果失败,您可以在清单中为屏幕大小等设置一些参数,但这不太可靠。您可以在这里使用技巧 1)创建一个启动活动,它仅在成功场景中的“创建启动实际活动”中验证屏幕大小。像
// In onCreate of startup activity
if (isTablet()) {
startActivity(new Intent(StartupActivity.this, MainActivity.class));
this.finish(); // don't forget to kill startup activity after starting main activity.
} else {
setContentView(R.layout.startup);
}
这是关键点。在其他情况下,您应该设置此活动的布局,理想情况下,此活动可以有一个标签和消息,如“设备不受支持”。以及一个关闭应用程序的按钮
2)理想情况下,如果希望只支持平板电脑,则应将所有字符串资源放在res/values large/strings.xml中。所以这里是诀窍,只需在字符串资源中添加以下项
<string name="is_supported_screen">true</string>
完成了……)
实际上,对于像平板电脑这样的大屏幕设备,将从res/values large/strings.xml加载字符串资源,并找到true
,对于其他设备,android将从res/values/strings.xml加载资源,并在R.string的值的isTablet()方法中找到false
最后,若应用程序安装在平板电脑上,您的主要活动将启动,并显示“设备不受支持”的消息
我想强调这是一个技巧,因此您需要仔细遵循所有步骤。如果出现任何错误,您将无法获得所需的结果。是否为android:anyDensity=“true”应与支持屏幕标签一起提供?就是离开那个属性。我想在所有系列的平板电脑上工作。您的愿望在这里有更详细的描述:
<string name="is_supported_screen">false</string>
private boolean isTablet() {
if (Boolean.parseBoolean(context.getResources().getString(R.string.is_supported_screen))) {
return true;
} else {
return false;
}
}