如何将Android应用仅限于平板电脑?

时间:2013-10-28 09:16:54

标签: android

我正在开发一款针对平板电脑的应用,仅适用于手机。

此代码是否足以实现我的目标?有没有办法测试它或谷歌播放它自己排序并呈现给用户?

以下是我尝试过的代码。但我不知道如何测试它?

<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"是否应与支持屏幕标签一起提供?或者只是保留该属性。我想在各种平板电脑上使用我的应用程序。

在这种情况下,任何帮助都非常值得赞赏。提前谢谢。

3 个答案:

答案 0 :(得分:1)

似乎oke,应该据我所知。

考虑一下您定义为平板电脑的内容。是什么让你的应用程序不适合6英寸手机,而不是7英寸平板电脑?

在将其上传到Google Play商店之前,您无法对此进行真正的测试。 manifest.xml中的这些过滤器由Google Play商店使用,而不是在安装应用时实际使用。他们只是确保有人在他的平板电脑上找不到应用程序,安装按钮将无法在网站上运行。

您可以通过上传您的APK来测试它,但不会发布我认为。它将为您提供当前设置支持的设备列表。

答案 1 :(得分:1)

无论你给出的是什么都是正确的,你必须在平板电脑上进行测试,它会加载,而对于手机,它将无法启动。

然后进入Android市场发布商页面。

1.确保您的应用已上传。

2.点击您的应用名称。

3.向下滚动到“显示设备”的位置。

4.点击它,您可以排除所有手机下载您的应用程序。

如果你没有在清单中为屏幕尺寸等设置一些参数,那么这是不太可靠的。

答案 2 :(得分:0)

你可以在这里使用技巧......

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 / strings.xml 创建一个新的字符串资源文件,该文件将包含相同的字符串项,但 false 的值类似......

<string name="is_supported_screen">false</string>

注意:确保此字符串资源文件必须至少包含StarupActivity中使用的所有资源,例如活动标题,设备不支持的消息,关闭应用程序按钮文本等。

3)最后在StartupActivity中编写一个方法,如

private boolean isTablet() {
    if (Boolean.parseBoolean(context.getResources().getString(R.string.is_supported_screen))) {
        return true;
    } else {
        return false;
    }
}

它的完成......:)

实际上,这里发生的情况是,对于像平板电脑这样的大屏幕设备,会从 res / values-large / strings.xml 加载字符串资源,并且会找到true,在这种情况下对于其他设备,android将从 res / values / strings.xml 加载资源,它会在方法false中找到isTablet()的值R.string.is_supported_screen。< / p>

最后,如果应用程序安装在平板电脑中,您的主要活动将会启动并显示不支持的设备信息。

我想强调这是一个技巧,所以你需要仔细遵循所有步骤。任何错误,你都不会得到理想的结果。