问题描述
我在 Google Play Store 上发布了一个应用,但是当我尝试在平板电脑上下载它时,它说应用不兼容.
I have published an app on Google Play Store but when I try to download it on Tablet, it says, app is not compatible.
此外,在开发者控制台中,我收到以下消息:您的布局应该利用 7 英寸平板电脑上的可用空间
Also, in developer console, I get this message: Your layout should make use of the available space on 7-inch tablets
现在,第一件事,我想将应用锁定为仅纵向方向,因此屏幕使用几乎相同.
Now, 1st thing , I want to lock app to only portrait orientation and hence screen usage will be almost same.
这是应用的链接.
关于该应用的一些小鬼信息:
Some imp info about the app:
- android:minSdkVersion="10"
- android:largeScreens="true" AND android:xlargeScreens="true"
- android:minSdkVersion="10"
- android:largeScreens="true" AND android:xlargeScreens="true"
为了支持平板电脑,android 文档说,检查 minSdkVersion 是否声明为 11 或更高的值.
,但是如果我想支持 OS 2.3.3 的设备?
To support Tablets, android docs says, check if minSdkVersion is declared with value 11 or higher.
, but what if I want to support devices with OS 2.3.3 ?
请给出适当的建议.
这样好吗?
<uses-permission android:name="android.permission.CAMERA" android:required="false"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SEND_SMS" android:required="false"/>
<uses-permission android:name="android.permission.READ_CONTACTS" android:required="false"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
编辑 2
如下更新清单文件的权限部分后,应用程序也显示在选项卡中:
Edit 2
After updating permissions part of manifest file as following, app is showing up in tabs also:
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.screen.portrait" android:required="false" />
推荐答案
它说,应用程序不兼容.
it says, app is not compatible.
它在设备上显示错误不仅是因为 minSDKversion,而且 google play 也担心您对清单文件的授予权限.
It is showing error on device not only because minSDKversion but also google play concern about your given permission on the manifest file as well.
如果你输入了类似的内容:
Like if you entered something like:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
你的标签不支持它.
所以不要使用 uses-permission
,而是使用 <uses-feature>
.并在 java 文件中检查您需要的硬件是否可用.
So instead of using uses-permission
use <uses-feature>
. And in java file check for it that your needed hardware is available or not.
<uses-feature>
见以下链接:
http://developer.android.com/guide/topics/manifest/uses-feature-element.html#features-reference
已
<uses-permission android:name="android.permission.CAMERA" android:required="false"/>
<uses-permission android:name="android.permission.SEND_SMS" android:required="false"/>
<uses-permission android:name="android.permission.READ_CONTACTS" android:required="false"/>
不,您不能授予这样的权限,因为 uses-permission
不允许 android:required="false".虽然它不会通过任何错误它不会工作.
Nope you can't give permission like this because uses-permission
not allowed android:required="false". Although It will not through any error it will not work.
如果您将使用 <uses-feature>
,它将获得访问特定硬件的权限.
If you will use <uses-feature>
it will take the permission to access the specific hardware.
所以用这个:
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
不要忘记在您的 java 代码中检查此功能的可用性.如果您不检查,CAMERA、SEND_SMS 将无法在您的应用中使用.
要检查相机的可用性,请使用:
To check camera availability use this:
import android.content.pm.PackageManager;
PackageManager pm = context.getPackageManager();
if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
// Do you camera work here.
}
这篇关于应用已在 Play 商店发布,但未显示在平板电脑上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!