带有MainActivity的动态壁纸

kli*_*mat 1 android android-manifest live-wallpaper

我有livewallpaper,livewallpaper的设置活动以及标准的MainActivity.关键是livewallpaper不能与MainActivity一起使用.当我的清单看起来像这样:

<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.BIND_WALLPAPER"/>
<uses-feature android:name="android.software.live_wallpaper" />

<application android:icon="@drawable/icon"
    android:label="simea">
    <!-- >android:permission="android.permission.BIND_WALLPAPER">-->

     <service android:name=".LiveWallpaper"
        android:label="@string/app_name"
        android:icon="@drawable/icon">

        <intent-filter>
            <action android:name="android.service.wallpaper.WallpaperService" />
        </intent-filter>
        <meta-data android:name="android.service.wallpaper"
            android:resource="@xml/livewallpaper" />
    </service> 

    <activity android:name=".MainActivity"
    android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:label="@string/livewallpaper_settings"
        android:name=".LiveWallpaperSettings"
        android:theme="@android:style/Theme.Light.WallpaperSettings"
        android:exported="true"
        android:icon="@drawable/icon">
    </activity>

</application>
Run Code Online (Sandbox Code Playgroud)

我可以运行MainActivity,但我不能将livewallpaper与我的主屏幕绑定.我看到livewallpaper的预览,我可以更改设置,但是当我点击"设置壁纸"按钮时,没有任何效果.

当我取消注释这一行时:

<!-- >android:permission="android.permission.BIND_WALLPAPER">-->
Run Code Online (Sandbox Code Playgroud)

并评论这个:

<uses-permission android:name="android.permission.BIND_WALLPAPER"/>
Run Code Online (Sandbox Code Playgroud)

livewallpaper在我的主屏幕上工作得很好,但是当我尝试运行MainActivity时,我得到了这样的消息:"app没有安装在你的手机上".我该如何解决?

Jav*_*ave 6

android:permission="android.permission.BIND_WALLPAPER"应放在里面service的标签:

 <service android:name=".LiveWallpaper"
    android:label="@string/app_name"
    android:icon="@drawable/icon"
    android:permission="android.permission.BIND_WALLPAPER">
Run Code Online (Sandbox Code Playgroud)