【问题标题】:Android Market hide my Application to some tablet (like Nexus 7)Android Market 将我的应用程序隐藏到某些平板电脑(如 Nexus 7)
【发布时间】:2012-12-10 21:07:05
【问题描述】:

这是我对Manifest.xml的配置,我不明白为什么Nexus 7和其他平板电脑无法从市场上下载这个应用程序。

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

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" android:required="false"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" android:required="false"/>
<uses-permission android:name="android.permission.CAMERA" android:required="false"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:required="false" />
<uses-permission android:name="android.permission.CALL_PHONE" android:required="false" /> 
<uses-feature android:name="android.hardware.camera" android:required="false"/> 
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>

在开发者控制台中有这个字符串 Layout schermo: SMALL NORMAL LARGE XLARGE 所以我相信问题出在权限上。有什么建议吗?

所有清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="**********"
android:versionCode="3"
android:versionName="1.4" >

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

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" android:required="false"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" android:required="false"/>
<uses-permission android:name="android.permission.CAMERA" android:required="false"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:required="false" />
<uses-permission android:name="android.permission.CALL_PHONE" android:required="false" /> 
<uses-feature android:name="android.hardware.camera" android:required="false"/> 
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>




<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".SplashScreenActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="**************"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="InfoServizio"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="NewProfilo"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="MiaDietaActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="Percentuali"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="DatiFisiciUtente"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="ListViewFoodCategoryActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="ListViewFoodActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="FoodDescriptionActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity android:name="MiaDietaActivityWebView" >
    </activity>
    <activity
        android:name="AggiungiNuovoPiattoActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="EmailActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="ProfiloActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="InsertInitialDataActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="LoginActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name=".StoricoTabActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="PesoRiepilogoActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="GraficoRiepilogoActivity"
        android:screenOrientation="landscape"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="StoricoPesoActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="StoricoPietanzeActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="AggiungiNuovoPiattoSecondoPassaggioActvity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="ActivityScattaFoto"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="ListViewMyFoodActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="ListViewMyFoodCategoryActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="SearchActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="HomeActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="GraficoOK"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="FormuleActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="CreditsActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="AssociaDietologoActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity android:name="org.achartengine.chartdemo.demo.chart.XYChartBuilder" />
    <activity android:name="org.achartengine.chartdemo.demo.chart.PieChartBuilder" />
    <activity android:name="org.achartengine.GraphicalActivity" />
    <activity android:name=".GeneratedChartDemo" />
    <activity
        android:name="AttesaDietologoActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
    <activity
        android:name="FacebookLikeActivity"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="TwitterGoActivity"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="CalendarView"
        android:screenOrientation="portrait"
        android:theme="@style/Theme.Transparent" >
    </activity>
</application>

</manifest>

【问题讨论】:

  • 我认为 Manifest 的那部分没有任何问题。您可以发布清单的其余部分吗?
  • 现在所有的 Manifest.. 我已经把 ****** 放在应用程序的名称中... 我不会做广告 :D

标签: android permissions android-manifest google-play uses-feature


【解决方案1】:

你不能使用android:required="false" 有权限;它仅适用于uses-feature。某些权限意味着功能。在这种情况下,android.permission.CALL_PHONE 意味着 android.hardware.telephony。 Nexus 7 没有此功能,将被过滤掉。试试这个:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CALL_PHONE" />

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

【讨论】:

  • 非常感谢!现在我试试这个!
  • 那我在平板电脑上使用电话管理器不会报错吗?有什么我可以做的吗?例如:if(Works with telephone){//Do stuff} else{ //ignore}?
  • +Ruchir Baronia - 没有任何直接的方法可以知道。如果该设备上不存在大多数 API,则它只会返回 null。对于电话,我会尝试这个想法:stackoverflow.com/a/5196919/146628
【解决方案2】:

Nexus 7 没有自动对焦功能。因此,如果它显示在您的&lt;uses&gt; 标签中,则该应用程序将从所有不具备该功能的设备中隐藏。如果您的应用不需要自动对焦,而只需要摄像头,则删除 &lt;uses&gt; 标签,您应该可以在所有有摄像头的设备上使用。您可能还想将摄像头的 &lt;uses&gt; 标签更改为 camera.any,否则它会因为缺少后置摄像头而失败。

【讨论】:

  • 这通常是正确的,但他专门使用了android:required="false"。此外,如果没有 android:required="false",“android.hardware.camera”会失败,因为该功能意味着后置摄像头,而 Nexus 7 只有前置摄像头。
  • 但是当我研究Android文档时,我明白如果我写这个“android:required="false"”市场不会过滤应用程序..或者我错了?
猜你喜欢
  • 1970-01-01
  • 2013-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多