我已经在 Google Play 商店上发布了一个应用程序,但当我尝试在平板电脑上下载它时,它说应用程序不兼容。
此外,在开发者控制台中,我收到以下消息:您的布局应利用 7 英寸平板电脑上的可用空间
现在,第一件事,我想将应用程序锁定为仅纵向方向,因此屏幕使用情况几乎相同。
这是应用程序的链接。
有关该应用程序的一些小鬼信息:
要支持平板电脑,Android 文档说,请检查是否
minSdkVersion is declared with value 11 or higher.
,但是如果我想支持 操作系统为 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" />
按如下方式更新清单文件的权限部分后,应用程序也显示在选项卡中:
<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" />
它说,应用程序不兼容。
它在设备上显示错误不仅是因为 minSDKversion,还因为 google play 也担心您对清单文件的给定权限。
就像您输入类似的内容:
<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 文件中检查您所需的硬件是否可用。
对于
<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"。虽然它不会出现任何错误,但它不会工作。
如果您将使用
<uses-feature>
,它将需要访问特定硬件的权限。
所以用这个:
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
不要忘记在您的 Java 代码中检查此功能的可用性。如果您不检查它,CAMERA、SEND_SMS 将无法在您的应用中工作。
要检查相机可用性,请使用这个:
import android.content.pm.PackageManager;
PackageManager pm = context.getPackageManager();
if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
// Do you camera work here.
}