应用不适用于平板电脑

时间:2015-07-29 10:39:22

标签: android google-play android-manifest android-screen-support

我在Google Play商店上传了一个应用。 我可以在手机上下载,但它不适用于平板电脑。 当我尝试在平板电脑上下载时,它显示的错误类似于"此应用仅适用于手机"

请帮帮我..我做错了什么?

这是我的AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.AnTim.mediteam"
android:versionCode="3"
android:versionName="1.2" >

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

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

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

<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<permission
    android:name="com.AnTim.mediteam.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.AnTim.mediteam.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application
    android:name="com.AnTim.mediteam.Controller"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.AnTim.mediteam.MainActivity"
        android:configChanges="orientation|keyboardHidden"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <action android:name="android.intent.action.DELETE" />

            <category android:name="android.intent.category.DEFAULT" />

            <data android:scheme="com.idrivecare.familypro" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.AnTim.mediteam.Internet_connection"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.AnTim.mediteam.Internet"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.AnTim.mediteam.Preference"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.AnTim.mediteam.GuestMenu"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.AnTim.mediteam.Privacy"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.AnTim.mediteam.Terms"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.AnTim.mediteam.Forgot_password"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.AnTim.mediteam.Registration"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.AnTim.mediteam.Sucessfull_register"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.AnTim.mediteam.Patient_menu"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.AnTim.mediteam.Web"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.AnTim.mediteam.Best_doctor"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>

    <receiver
        android:name="com.google.android.gcm.GCMBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>

            <!-- Receives the actual messages. -->
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <!-- Receives the registration id. -->
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

            <category android:name="com.AnTim.mediteam" />
        </intent-filter>
    </receiver>

    <service android:name="com.AnTim.mediteam.GCMIntentService" />
</application>

3 个答案:

答案 0 :(得分:5)

根据这个:

http://arstechnica.com/gadgets/2013/11/google-play-rolls-out-designed-for-phones-tag-of-shame-on-tablets/

“不包含某些平板电脑增强功能的应用会在Play商店的平板电脑版本上显示”专为手机设计“标签,使平板电脑用户不太可能安装它们。”

我想这就是你收到这条消息的原因。您可能没有包含那些“平板电脑增强功能”

答案 1 :(得分:1)

您的应用使用功能&#34; android.hardware.telephony&#34;。如果平板电脑没有拨号器和数据网络,则该应用程序将无法与该设备兼容。

答案 2 :(得分:0)

我知道我有点迟到,但迟到总比没有好。

正如@SauravGhimire所建议的那样,电话访问打破了兼容性。

required = true如果是这样的话。但是,您的代码指定required = false:

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

这表明应用程序在兼容设备上使用电话,而在没有电话访问权限的设备上,您的应用程序设置了一些在不支持的设备上不使用电话的设备。这意味着您将继续支持平板电脑。

支持的屏幕尺寸有助于Google Play看到您为平板电脑添加了某种支持。 AFAIK,声明标签而不是添加特殊布局并不是为平板电脑设计的,也不是为手机设计的。这是您的应用支持手机和平板电脑的地方,但并非专门设计用于利用平板电脑上的额外空间。

正如@ Hans1984所说,如果您的应用获得了专为手机标签设计的#34;,则可能无法收到安装信息。

不确定这在2015年是如何运作的,但现在您可以下载应用,即使它们是专为手机设计的。 &#34;专为手机设计&#34;标签只是一种平板电脑用户可以被警告的方式&#34;这个应用程序在平板电脑上可能不如在手机上那么好。

我已下载&#34;专为手机而设计#34;在我的平板电脑上的应用程序,我已经在Android 5,6和7上完成了它没有任何问题。也许有些设备会有这样的警告(或者有些设备没有)。您的自定义权限(com.AnTim.mediteam.permission.C2D_MESSAGE

也可能存在问题

很难说你为什么会得到这个错误,但你已经以正确的方式完成了所有事情,这应该会阻止为电话而设计的#34;标签,并且(假设您没有特殊的平板电脑布局),您将无法获得专为平板电脑设计的#34;标签要么(最后一个标签意味着它也是为平板电脑设计的,它有特殊的支持。还支持手机)。可能是旧版本(beta / alpha / production(旧版本))没有支持它,你试图下载太快。 Google Play需要大量时间来处理更新。为平板电脑添加布局也是一个解决方案。