Приложение фильтров Android Market - Телефония? - PullRequest
8 голосов
/ 07 декабря 2011

У меня есть следующий манифест:

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

Я думаю, что экран -настройки в порядке, потому что у меня есть второе приложение с такими же настройками, и это видно.Так что я думаю, что это из-за разрешений ..

Может ли кто-нибудь мне помочь?

Ответы [ 3 ]

19 голосов
/ 07 декабря 2011

Как насчет добавления этого в манифест:

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

(будет добавлено прямо под тегом манифеста)

6 голосов
/ 13 декабря 2011

Рынок, по-видимому, делает вывод, что поддержка телефонии требуется всякий раз, когда в AndroidManifest.xml добавляются определенные разрешения, например по умолчанию, READ_SMS или CALL_PHONE, кажется, заставляют Market предлагать приложение только для устройств с поддержкой телефонии.

Лучший способ проверить, происходит ли это, - войти в свою учетную запись публикации на Android Market и найти раздел «Необходимые функции устройства»:

required device features

Теперь посмотрите на ссылку «Показать устройства» выше. Это действительно полезно для точной проверки моделей устройств, на которые может быть загружено ваше приложение.

Нажмите «Показать устройства», а затем найдите интересующие вас устройства. «Xoom» - это хороший вариант для проверки, поскольку на данный момент это только Wi-Fi, и в настоящее время он не поддерживает телефонию:

xoom supported devices

Другие устройства могут быть более хитрыми. На вкладках Samsung имеется ряд устройств, некоторые с телефонной связью (для просмотра этих списков необходимо щелкнуть ссылку «Samsung» в разделе «Результаты поиска производителя»):

samsung supported devices

... а некоторые без телефонии (что в данном случае делает их неподдерживаемыми для моего приложения):

samsung unsupported devices

Исправление состоит в том, чтобы установить телефонию как необязательную в AndroidManifest.xml для вашего приложения:

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

Даже если Android считает, что устройство не поддерживает телефонию (например, Samsung Tab только для Wi-Fi), оно может поддерживать телефонию не родным способом (например, Skype). Для получения дополнительной информации см. Мой ответ здесь:
Возможность звонка на Android-устройство

0 голосов
/ 07 декабря 2011

попробуйте добавить это:

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