【问题标题】:App is published on Play Store but doesn't show up on Tablets应用已在 Play 商店发布,但未显示在平板电脑上
【发布时间】:2013-11-12 22:20:32
【问题描述】:

我在 Google Play Store 上发布了一个应用,但是当我尝试在平板电脑上下载它时,它说应用不兼容。

此外,在开发者控制台中,我收到以下消息:您的布局应该利用 7 英寸平板电脑上的可用空间

现在,第一件事,我想将应用程序锁定为仅纵向方向,因此屏幕使用情况几乎相同。

这是应用程序的the link。

关于该应用的一些小鬼信息:

  • android:minSdkVersion="10"
  • android:largeScreens="true" AND android:xlargeScreens="true"

要支持平板电脑,android 文档说,请检查 minSdkVersion is declared with value 11 or higher.,但如果我想支持 具有 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

如下更新清单文件的权限部分后,应用程序也显示在选项卡中:

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

【问题讨论】:

  • 忘记 misSdkVersion 因为我在市场上有一个支持 2.2 的应用程序,它也支持平板电脑。你的 res 文件夹中有 layout-xlarge 或 layout-sw720dp 吗?
  • layout-large 存在,但没有 layout-xlarge。此外 layout-large 没有应用程序所有屏幕的布局
  • 检查 AndroidManifest.xml 文件中使用的 sdkversions 最大值和目标 sdk
  • @OsamaEspil & AnilKumar - 我的应用程序的 minSdkVersion 和 targetSdkVersion 的值都是 10。会这样吗?
  • @GAMA 指向您的应用的链接已关闭。您是删除它还是 Google 暂停了它?

标签: android android-layout google-play


【解决方案1】:

它说,应用程序不兼容。

它在设备上显示错误不仅是因为 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,而是使用&lt;uses-feature&gt;。并在 java 文件中检查您需要的硬件是否可用。

&lt;uses-feature&gt; 见以下链接:

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"。虽然它不会通过任何错误它不会工作。

如果您将使用&lt;uses-feature&gt;,它将获得访问特定硬件的权限。

所以用这个:

<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.
} 

【讨论】:

  • 或者这意味着,我可以 REPLACE &lt;uses-permission android:name="android.permission.CAMERA" /&gt; 与 &lt;uses-feature android:name="android.hardware.camera" android:required="false" /&gt; 等等,否则我需要 BOTH ?
  • 不要只保留一个,即
  • 不,如果我删除 只保留 ,我得到异常:无法连接到相机服务。如果我保留两者,它的工作...
  • 查看我提到的答案“不要忘记在您的 java 代码中检查此功能的可用性。如果您不检查它,CAMERA、SEND_SMS 将无法在您的应用中使用。”
猜你喜欢
  • 1970-01-01
  • 2014-04-17
  • 1970-01-01
  • 1970-01-01
  • 2020-11-19
  • 2014-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多