我正在制作一个只能在平板电脑而不是手机上运行的应用程序。我使用这个代码,但它也安装在移动设备上。
请帮我解决如何申请平板电脑的问题。
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<supports-screens
android:anyDensity="true"
android:largeScreens="false"
android:normalScreens="false"
android:requiresSmallestWidthDp="600"
android:smallScreens="false"
android:xlargeScreens="true" />
答案 0 :(得分:1)
如果您希望应用程序仅适用于平板电脑设备,您可以在清单中声明元素,如下所示:
<supports-screens android:smallScreens="false"
android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true"
android:requiresSmallestWidthDp="600" />
有关详情,请参阅此Link
答案 1 :(得分:1)
这可能会对您有所帮助:
http://developer.android.com/guide/practices/screens-distribution.html http://developer.android.com/guide/topics/manifest/compatible-screens-element.html http://developer.android.com/google/play/publishing/multiple-apks.html
<manifest ... >
<supports-screens android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="false"
android:xlargeScreens="false"
/>
...
<application ... >
...
</application>
</manifest>
Android Market过滤应用程序,如果设备屏幕大小和 密度与任何屏幕配置都不匹配....
另见How can I ensure that my app is only available to phones on Android Market?
答案 2 :(得分:-1)
您可以使用此代码检测设备是否为平板电脑:
public boolean isTablet() {
Log.d(Constants.TAG, "CHECK_TABLET isTablet entry["+isTablet+"]");
if (isTablet == null) {
int deviceSizeMask = getResources().getConfiguration().screenLayout
& Configuration.SCREENLAYOUT_SIZE_MASK;
float screenDensity = getResources().getDisplayMetrics().density;
if (deviceSizeMask == Configuration.SCREENLAYOUT_SIZE_XLARGE
|| (deviceSizeMask == Configuration.SCREENLAYOUT_SIZE_LARGE && screenDensity < 2.0f)) {
isTablet = true;
} else {
isTablet = false;
}
Log.d(Constants.TAG, "CHECK_TABLET deviceSizeMask["+deviceSizeMask+"] screenDensity["+screenDensity+"] isTablet["+isTablet+"]");
}
Log.d(Constants.TAG, "CHECK_TABLET isTablet exit["+isTablet+"]");
return isTablet;
}