Манифест Android: некоторые устройства не поддерживаются? - PullRequest
1 голос
/ 05 апреля 2011

У меня есть приложение на Android Market, которое должно работать на всем> = Android 1.5.При тестировании это действительно, кажется, работает, но я получаю сообщения от разочарованных пользователей, которые не имеют права устанавливать его из-за проблем совместимости.Два таких - HTC Hero под управлением Android 2.1 и HTC Wildfire (версия неизвестна).

Весь мой манифест находится ниже (поскольку я не знаю, что не так, я могу удалить что-то важное)Android Market ищет информацию о совместимости.Я как-то исключаю определенные устройства?

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar" android:debuggable="true">
    <activity android:name=".ShowStreams" android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"></action>
            <category android:name="android.intent.category.LAUNCHER"></category>
        </intent-filter>
    </activity>

    <activity android:name=".menu.Settings" />
    <activity android:name=".ClearCache"></activity>
    <activity android:name=".settings.ManageFeeds"></activity>
    <activity android:name=".settings.DirectoryBrowser"></activity>
    <activity android:name=".settings.SourceSelector"></activity>
    <activity android:name=".settings.FlickrBrowser"></activity>
    <activity android:name=".settings.PicasaBrowser"></activity>
    <activity android:name=".parser.facebook.FacebookAuth">
        <intent-filter>
             <action android:name="android.intent.action.VIEW" />
             <category android:name="android.intent.category.DEFAULT" />
             <category android:name="android.intent.category.BROWSABLE" />
             <data android:scheme="floatingimage"/>
        </intent-filter>
    </activity>
    <activity android:name=".settings.FacebookBrowser">
    </activity>
    <activity android:name=".parser.facebook.WebAuth"></activity>
    <activity android:name=".parser.facebook.FacebookAlbumBrowser"></activity>
    <activity android:name=".parser.facebook.FacebookFriendsBrowser"></activity>
    <activity android:name=".parser.facebook.FacebookFriendView"></activity>
    <activity android:name=".flickr.WebAuth"></activity>
    <activity android:name=".parser.flickr.FlickrAlbumBrowser"></activity>
    <activity android:name=".parser.picasa.PicasaWebAuth"></activity>
    <activity android:name=".parser.picasa.PicasaAlbumBrowser"></activity>
    <activity android:name=".parser.picasa.PicasaUserView"></activity>
    <activity android:name=".settings.About" android:theme="@android:style/Theme.Dialog"></activity>
    <activity android:name=".menu.WallpaperSettings" android:exported="true" />
    <activity android:name=".menu.ApplicationFeedManagerLauncher"></activity>
    <activity android:name=".menu.WallpaperFeedManagerLauncher"></activity>

    <service android:name="Wallpaper"
             android:label="Floating Image"
             android:permission="android.permission.BIND_WALLPAPER">
             <intent-filter>
                <action android:name="android.service.wallpaper.WallpaperService" />
             </intent-filter>
             <meta-data android:name="android.service.wallpaper" android:resource="@xml/wallpaper" />
    </service>
</application>

<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4" />
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
<uses-permission android:name="android.permission.BIND_WALLPAPER"></uses-permission>
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:name="android.software.live_wallpaper" />

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

Ответы [ 2 ]

2 голосов
/ 05 апреля 2011

После некоторых исследований, а также спросив у # android-dev, я обнаружил, что проблема была в строке:

<uses-feature android:name="android.software.live_wallpaper" />

Это, очевидно, жесткое требование для приложения, и оно не обязательно для функциональности живых обоев.

0 голосов
/ 05 апреля 2011

Я полагаю, что ограничивающим фактором может быть следующее разрешение:

<uses-permission android:name="android.permission.BIND_WALLPAPER"></uses-permission>

Согласно следующей странице в документации для Android, это было представлено на уровне API 8. Возможно ли, что неподдерживаемое разрешениеотфильтрованы для устройств, работающих с SDK на уровне API 7?

http://developer.android.com/reference/android/Manifest.permission.html#BIND_WALLPAPER

...