虽然这个问题已问过很多次,但我仍未能找到适当的解决办法。
我只想把我的应用程序安装在平板电脑上。我已经有了同样的手机应用程序,现在我希望它能安装在平板电脑上。我的平板电脑用户界面和手机完全不同。
Play Store现在增加了一个“平板电脑功能应用程序”选项。我查过这了
我是否应该通过添加<supports-screens android:requiresSmallestWidthDp="600">来开发另一个只适用于平板电脑的应用程序?
但是我读过这里,google play并没有使用标记过滤
如果我使用像手机正在从Android游戏机商店中挑选平板电脑。、Grand、Nexus-4这样的android:largeScreens="true"手机,就可以看到这款平板电脑。但是我希望屏幕>7英寸应该安装我的应用程序。其他不应在play商店中显示安装按钮。
由于这个选项似乎不起作用,那么我怎么开始呢?是否有任何限制清单,我可以使用,以便应用程序将只安装在平板电脑?
另一方面,我发现要使通用应用于手机和平板电脑,和可以对设备的屏幕大小进行任何条件检查。根据屏幕大小,我可以区分流量,一个是平板电脑,另一个是手机。
我完全糊涂了,哪条路最好走。任何指导或暗示都会对我做出正确的决定有很大帮助。
发布于 2013-11-25 05:22:19
正如Android站点的http://developer.android.com/guide/practices/screens-distribution.html#FilteringTabletApps部分指出的那样:
如果你不想在手机上使用你的应用程序(也许你的应用程序只在大屏幕上才有意义)或者你需要时间来为小屏幕优化它,你可以通过使用清单元素阻止小屏幕设备下载你的应用程序。
所以,你要做的就是决定你认为是平板电脑的屏幕大小,并且只支持这些屏幕。例如,正如开发人员建议的那样。再一次,您可能会限制它仅限于大屏幕和清单中带有<supports-screen>元素的更大的(也是从Android站点借用的):
<supports-screens
android:smallScreens="false"
android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true"
android:requiresSmallestWidthDp="600"
/>这并不能保证你的应用程序不会在特定类型的大型手机上运行(年轻人喜欢这样称呼它为“平板手机”),但这只是试图限制它的本质,因为它在Android开发中是任意的,比如手机和平板电脑,特别是当真正的区别仅仅是屏幕大小时。我也可以提到,最好将平板用户界面内置到你的应用程序中,但这可能需要额外的工作,这取决于这两个UI的不同。
无论如何,您的主要问题只是决定大小是否太小,并对其进行相应的限制。Google应该尊重屏幕大小的下限,但是在大屏幕上,<supports-screens>元素中的上限将被忽略,因为应用程序将在兼容性模式下运行。为了防止屏幕变大,无论出于什么原因,您都希望使用,除非您的UI由于某种原因完全不灵活,否则您可能不想使用它。
这听起来很奇怪。
发布于 2013-11-25 05:17:22
<supports-screens
android:largeScreens="true"
android:normalScreens="false"
android:requiresSmallestWidthDp="600"
android:smallScreens="false"
android:xlargeScreens="true" />
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="14" />要获得HoneyComb平板电脑,只需更改您的minSdk
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="14" />因此,带姜饼的手机不能下载你的应用程序。
没有带蜂巢的手机(Api 11)
最后
支持ICS平板,因为它确实查看您的smallestWidth属性。
最后,ICS电话并不是因为正如我们所说的ICS使用smallestWidth属性
发布于 2013-11-25 05:15:11
但是我在这里读到了http://developer.android.com/guide/topics/manifest/supports-screens-element.html,google没有过滤标签requiresSmallestWidthDp。
只有3.2是正确的。您可以使用这篇文章中提到的以下内容。
<manifest ... >
<supports-screens android:smallScreens="false"
android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true"
android:requiresSmallestWidthDp="600" />
...
<application ... >
...
</application>
</manifest>如果你的用户界面完全不同,我建议你重新看一看,因为同一个用户可以在手机和平板电脑上使用相同的应用程序。另外,维护不同的代码库可能是一项相当艰巨的任务。我建议你也优化同样的平板电脑应用程序。碎片的含义和设计目的完全相同。
如果Google Play仍然显示您的应用程序,比如Note,您可以在您的平板应用程序中使用以下内容:
将config.xml文件放入包含以下内容的values文件夹中:
<bool name="isTablet">false</bool>将config.xml文件放入值中-sw600dp文件夹,其中包含:
<bool name="isTablet">true</bool>“主行动守则”:
onCreate(Bundle bundle){
if(!getResources().getBoolean(R.bool.isTablet)){
// Direct User to the phone version of the app.
}
}还有一件事:当你上传到Play Store时,你会收到一张可以根据你的清单下载应用程序的设备列表。你可以取消在那里的Note之类的设备。一个问题是,如果第二天有一种新的Note类设备上市,除非你定期更新支持的设备列表,否则该设备仍然可以下载该应用程序。
https://stackoverflow.com/questions/20185123
复制相似问题