我在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>
答案 0 :(得分:5)
根据这个:
“不包含某些平板电脑增强功能的应用会在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需要大量时间来处理更新。为平板电脑添加布局也是一个解决方案。