开发者

Android Manifest: Some devices are not supported?

I have an app on Android Market that should run on everything >= Android 1.5. When testing this indeed seems to work, but I get reports from frustrated would be users that they are not allowed to install it due to compatibility issues. Two such are HTC Hero running Android 2.1 and HTC Wildfire (version unknown).

My entire manifest is below (As I don't know what's wrong, I might remove something important) - as I see it, this is the only thing Android Market looks to for compatibility information. Am I somehow excluding certain devices?

<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-p开发者_Python百科ermission 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>


After some research, and also asking at #android-dev I found that the problem was with the line:

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

This is apparently a hard requirement for the app, and not necessary for live wallpaper functionality.


I believe the limiting factor might be the following permission:

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

According to the following page in the android docs, this was introduced in api level 8. Is it possible that the unsupported permission is being filtered out for devices running sdk at api level 7?

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜