如何在Android中限制平板电脑的应用?

时间:2013-02-06 12:44:55

标签: android google-play tablet

我希望我的应用只运行不在

中的移动设备
  片剂10和7英寸

。但我的应用程序是在平板电脑大小上运行的。请帮助我

5 个答案:

答案 0 :(得分:9)

是的,因为@OceanLife说你应该选择compatible-screenssupports-screens

但我想在这里添加一些东西。

如果您正在使用

<supports-screens android:largeScreens="false" android:normalScreens="true" 
                  android:smallScreens="true" android:xlargeScreens="false" /> 

然后请注意官方compatible-screens文件说明的内容:

  

如果您希望您的应用程序仅适用于大型和   xlarge屏幕设备,元素允许你   声明您的应用程序不支持小屏幕和普通屏幕   大小。 外部服务(例如Google Play)会过滤您的    相应的申请。您也可以使用    元素,用于声明系统是否应调整应用程序的大小    适用于不同的屏幕尺寸。

因此,将apk文件上传到PlayStore后会生效。直到你不会受影响这个功能。

另请参阅Filters on Google Play文档,详细了解Google Play如何使用此清单元素和其他清单元素过滤应用程序。

希望它会有所帮助。

答案 1 :(得分:8)

谷歌开发者有非常详细的信息,请查看此链接:
Distributing to Specific Screens

引用下面的相关部分。

仅限手机:

  

Declaring an App is Only for Handsets

<manifest ... >
    <compatible-screens>
        <!-- all small size screens -->
        <screen android:screenSize="small" android:screenDensity="ldpi" />
        <screen android:screenSize="small" android:screenDensity="mdpi" />
        <screen android:screenSize="small" android:screenDensity="hdpi" />
        <screen android:screenSize="small" android:screenDensity="xhdpi" />
        <!-- all normal size screens -->
        <screen android:screenSize="normal" android:screenDensity="ldpi" />
        <screen android:screenSize="normal" android:screenDensity="mdpi" />
        <screen android:screenSize="normal" android:screenDensity="hdpi" />
        <screen android:screenSize="normal" android:screenDensity="xhdpi" />
    </compatible-screens>
    ...
    <application ... >
        ...
    <application>
</manifest>

仅限平板电脑:

  

Declaring an App is Only for Tablets

     

如果您不希望自己的应用在手机上使用(也许是您的应用   只在大屏幕上才真正有意义,或者您需要时间进行优化   它适用于较小的屏幕,可以防止小屏幕设备   使用清单元素下载您的应用。

<manifest ... >
    <supports-screens android:smallScreens="false"
                      android:normalScreens="false"
                      android:largeScreens="true"
                      android:xlargeScreens="true"
                      android:requiresSmallestWidthDp="600" />
    ...
    <application ... >
        ...
    </application>
</manifest>

答案 2 :(得分:1)

尝试在Android清单文件中添加此内容

    <uses-sdk
android:minSdkVersion="6"
android:targetSdkVersion="8" />


<supports-screens
android:anyDensity="true"
android:largeScreens="false"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="false" />

答案 3 :(得分:1)

试试这个:

您应该在attribute android:largestWidthLimitDp =“输入您想要限制的移动像素值中使用此mainfest

 <supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:resizeable="true"
    android:largestWidthLimitDp="500"
    android:smallScreens="true"
    android:xlargeScreens="false" />

答案 4 :(得分:0)

通过使用使用功能,您似乎可以将应用分发仅限制为横向屏幕设备“平板电脑和平板电脑”等设备。 以下是manifest.xml中需要的代码:

          <uses-feature android:name="android.hardware.screen.landscape"
                      android:required="true"
          ></uses-feature>

也可以使用:

<supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="false"
    android:resizeable="false"
    android:smallScreens="false"
    android:xlargeScreens="true" />