使应用程序与平板电脑的Android系统兼容

3

我想知道我需要做哪些改变使我的应用程序适用于平板电脑。

目前在Play商店中,我的应用程序显示不兼容平板电脑。我已经为某些布局创建了一个xlarge布局,我还需要做什么呢?谢谢。


请先进行彻底的搜索,查看此前的问题是否为可能的重复;以及此问题,还有可能有更多相关问题。 - ILMostro_7
4个回答

5

可能会有很多问题。我将解释其中一些。

Play Store根据设备的要求进行检测。我的意思是,如果您添加了DiAL权限或某些未包含在平板电脑中的权限,则不会下载。请改用uses-feature而不是permission,并将所需的属性设置为false。

<uses-permission android:name="android.permission.CALL_PHONE" android:required="false"/>

请使用下面的代码代替上面的代码。
<uses-feature android:name="android.permission.CALL_PHONE"  android:required="false"/>

并且

为了支持屏幕

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


<compatible-screens>
    <!--no small size screens -->


    <!--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" />

    <!-- all large size screens -->
    <screen android:screenSize="large" android:screenDensity="ldpi" />
    <screen android:screenSize="large" android:screenDensity="mdpi" />
    <screen android:screenSize="large" android:screenDensity="hdpi" />
    <screen android:screenSize="large" android:screenDensity="xhdpi" />

    <!-- all xlarge size screens -->
    <screen android:screenSize="xlarge" android:screenDensity="ldpi" />
    <screen android:screenSize="xlarge" android:screenDensity="mdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="hdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />

    <!-- Special case for Nexus 7 -->
    <screen android:screenSize="large" android:screenDensity="213" />

</compatible-screens>

并且针对xxhdpi屏幕

 <screen android:screenSize="normal" android:screenDensity="480" />
     <screen android:screenSize="large" android:screenDensity="480" />
     <screen android:screenSize="xlarge" android:screenDensity="480" />`

详见此处


我在清单文件中拥有以下权限。我的应用程序会显示在平板电脑上吗?https://gist.github.com/anonymous/985de509ae8d68d72bf3 - Ruchir Baronia
请查看:http://stackoverflow.com/questions/4955375/android-smartphone-app-support-for-android-tablet - Haresh Chhelana
根据文档,只有在您的 minSdkVersion < 13 时才应使用 <support-screens> 属性。 - Prajwal Waingankar

2

平板电脑可能不支持您的应用程序所需的某些功能。

请检查清单文件中是否包含以下功能:

http://developer.android.com/guide/topics/manifest/uses-feature-element.html.

<uses-feature>声明的目的是通知任何外部实体,您的应用程序依赖于哪些硬件和软件功能。

为了防止应用程序被无意中发布,Google Play默认情况下假定某些与硬件相关的权限表示应用程序需要底层硬件功能。

例如,使用蓝牙的应用程序必须在<uses-permission>元素中请求BLUETOOTH权限。对于旧版应用程序,Google Play假定权限声明意味着应用程序需要底层的android.hardware.bluetooth功能,并基于该功能设置过滤。

对于下面列出的任何权限,您都可以通过在<uses-feature>元素中显式声明隐含功能的方式,并添加android:required="false"属性来禁用基于隐含功能的过滤。例如,要禁用基于相机权限的任何过滤,您需要向清单文件添加以下<uses-feature>声明:

<uses-feature android:name="android.hardware.camera" android:required="false" />

如评论中所指出的,您应该尝试使用 android:required="false" 进行故障排除,并确定平板电脑缺少哪个功能导致应用程序未显示在 Google Play 中。
如果平板电脑不支持某项功能,但在清单文件中声明时没有明确声明为 android:required="false",则该平板电脑将被从 Google Play 中过滤掉。

因此,实质上是搜索“uses-feature”代码行并检查哪些是问题的原因;使用“android:required =”false“进行故障排除。 - ILMostro_7
1
@ILMostro_7 - 没错。如果一个功能在平板电脑上不被支持,但在清单文件中没有明确声明为 android:required="false",那么该平板电脑将被从 Google Play 中过滤掉。 - My God
我在清单文件中拥有以下权限。我的应用程序会显示在平板电脑上吗?https://gist.github.com/anonymous/985de509ae8d68d72bf3 - Ruchir Baronia

0

为了使应用程序适用于平板电脑,请在您的android manifest.xml文件中添加下面的代码。

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

0

尝试在AndroidManifest.xml中添加此功能

<uses-feature
    android:name="android.hardware.camera"
    android:required="false" />
<uses-feature
    android:name="android.hardware.telephony"
    android:required="false" />

我在清单文件中拥有以下权限。我的应用程序会显示在平板电脑上吗?https://gist.github.com/anonymous/985de509ae8d68d72bf3 - Ruchir Baronia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接