Android市场将我的应用程序隐藏在某些平板电脑(例如Nexus 7)上

4
这是我的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"/>

在开发者控制台中,有这个字符串布局屏幕: 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 的其余部分? - Grimmace
现在已经有了所有的清单文件。我在应用程序名称中放置了******。我不想要广告:D - Paolo
2个回答

5

您不能在权限中使用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(适用于电话){//做某些事情} else{//忽略} - Ruchir Baronia
+Ruchir Baronia - 没有任何直接的方法可以知道。大多数API只返回null,如果在该设备上不存在。特别是对于电话,我建议尝试这个想法:https://dev59.com/C2435IYBdhLWcg3w0TlP#5196919 - Grimmace

1
Nexus 7没有自动对焦功能。因此,如果在您的<uses>标签中显示,该应用程序将在所有不具备该功能的设备上隐藏。如果您的应用程序不需要自动对焦,而只需要相机,则删除该<uses>标签,您就可以在所有具有相机的设备上使用它了。您还可能希望将相机的<uses>标签更改为camera.any,否则由于缺乏后置摄像头,它将无法正常工作。

这通常是正确的,但他特别使用了android:required="false"。此外,“android.hardware.camera”如果没有android:required="false"将会失败,因为该功能意味着后置摄像头,而Nexus 7只有前置摄像头。 - Grimmace
@Grimmace,你说得对,相机 vs. camera.any -- 我正在更新这个问题,正好在你的评论到来时。 - 323go
但是当我学习Android文档时,我明白了如果我写上 "android:required="false"",市场就不会过滤应用程序...或者我错了? - Paolo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接