【问题标题】:Android Market filters app - Telephony?Android 市场过滤器应用程序 - 电话?
【发布时间】:2011-12-07 18:04:30
【问题描述】:

我有以下清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myapp.MainActivity"
    android:versionCode="1"
    android:versionName="1.0.0" >

    <supports-screens
        android:anyDensity="false"
        android:largeScreens="true"
        android:normalScreens="true"
        android:resizeable="false"
        android:smallScreens="true"
        android:xlargeScreens="true" >

    </supports-screens>

    <uses-permission
        android:name="android.permission.RECEIVE_SMS"
        android:required="false" >
    </uses-permission>
    <uses-permission
        android:name="android.permission.SEND_SMS"
        android:required="false" >
    </uses-permission>
    <uses-permission
        android:name="android.permission.ACCESS_COARSE_LOCATION"
        android:required="false" >
    </uses-permission>
    <uses-permission
        android:name="android.permission.ACCESS_FINE_LOCATION"
        android:required="false" >
    </uses-permission>
    <uses-permission android:name="android.permission.INTERNET" >
    </uses-permission>
    <uses-permission
        android:name="android.permission.CALL_PHONE"
        android:required="false" >
    </uses-permission>

    <uses-sdk android:minSdkVersion="7" ></uses-sdk>

    <receiver
        android:enabled="true"
        android:name="com.myapp.receiver" >
        <intent-filter android:priority="10" >
            <action android:name="android.intent.action.DATA_SMS_RECEIVED" />

            <data
                android:host="localhost"
                android:port="12345"
                android:scheme="sms" />
        </intent-filter>
    </receiver>

如果我将其上传到 Android Market,则该应用对于 Galaxy Tab 10.1 等平板电脑不可见。

我认为屏幕设置没问题,因为我有第二个具有相同设置的应用程序并且这个应用程序是可见的。 所以我认为这是因为权限..

有人可以帮帮我吗?

【问题讨论】:

    标签: android permissions screen android-manifest android-market-filtering


    【解决方案1】:

    如何将其添加到您的清单中:

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

    (添加到您的清单标签下方)

    【讨论】:

    • 你能验证这个答案吗?
    【解决方案2】:

    市场似乎推断,只要将某些权限添加到 AndroidManifest.xml,就需要电话支持,例如默认情况下,READ_SMSCALL_PHONE 似乎都导致市场只向支持电话的设备提供应用程序。

    检查是否发生这种情况的最佳方法是登录您的 Android Market 发布帐户,然后查找“必需的设备功能”部分:

    现在查看上面的“显示设备”链接。这对于准确检查可以下载您的应用程序的设备型号非常有用。

    单击“显示设备”,然后搜索您感兴趣的设备。“Xoom”是一个很好的检查,因为它目前只有 wifi,并且目前不包括任何电话支持:

    其他设备可能更棘手。 Samsung Tabs 有一系列设备,其中一些具有电话功能(您需要单击“制造商搜索结果”下的“Samsung”链接才能查看这些列表):

    ...有些没有电话(在这种情况下,我的应用不支持它们):

    解决方法是在您的应用程序的 AndroidManifest.xml 中将电话设置为可选:

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

    即使 Android 认为设备不支持电话(例如,仅限 wifi 的 Samsung Tab),它也可能以非本地方式支持电话(例如 Skype)。有关更多信息,请在此处查看我的回答:
    Android Device phone call ability

    【讨论】:

      【解决方案3】:

      尝试添加这个:

       <supports-screens
                android:largeScreens="true"
                android:normalScreens="true"
                android:smallScreens="true"
                />
      

      【讨论】:

      • 对不起,我忘了写我有以下屏幕设置:
      猜你喜欢
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多