Как сделать мое приложение видимым для всех устройств?

У меня есть приложение для Android, теперь на Android Market. Но это приложение не видно для некоторых устройств, особенно для некоторых вкладок. При запуске этого приложения напрямую из системы (не установка с маркета) работает нормально.

Вот файл манифеста

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="xxxxx"
        android:installLocation="internalOnly"
        android:versionCode="1"
        android:versionName="1.0" >
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="9" />
        <uses-feature
            android:name="android.hardware.telephony"
            android:required="true" />
        <uses-feature
            android:name="android.hardware.location"
            android:required="true" />
        <supports-screens
            android:anyDensity="true"
            android:largeScreens="true"
            android:normalScreens="true"
            android:smallScreens="true"
            android:xlargeScreens="true" />

        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
        <uses-permission android:name="android.permission.CALL_PHONE" />
        <uses-permission android:name="android.permission.READ_CONTACTS" />
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
        <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
        <uses-permission android:name="android.permission.WRITE_SETTINGS" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
        <uses-permission android:name="android.permission.SET_WALLPAPER" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.GET_TASKS" />
        <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
        <uses-permission android:name="android.permission.RESTART_PACKAGES" />
        <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
        <uses-permission android:name="android.permission.INSTALL_PACKAGES" />

        <application
            <activity----
            </activity>

            <service------
            </service>

            <receiver ------
            </receiver>
        </application>

</manifest>

Если я изменю required="false", что произойдет? Будет ли сбой кода?

Также у меня есть китайский планшет Crane_KA013, у которых есть приложение "Телефон", но в нем нет функции "телефония" при использовании PackageManager.getSystemAvailableFeatures().При запуске моего приложения на этом планшете (не установка с маркета), работает нормально, и приложение не видно для этого устройства на рынке.

Почему это происходит? Как я могу решить это?

Заранее спасибо

1 ответ

Решение

Похоже, что вам требуются функции, которые некоторые устройства могут быть недоступны для них. Например:

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

Здесь вы сообщаете системе, что требуется телефония, однако некоторые планшеты не поддерживают эту функцию.

Вот ссылка на Руководство по API Google, в котором обсуждается это: http://developer.android.com/guide/topics/manifest/uses-feature-element.html

Другие вопросы по тегам