我有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>


我可以运行MainActivity,但是不能将livewallpaper与主屏幕绑定。我看到了动态壁纸的预览,可以更改设置,但是当我单击“设置墙纸”按钮时,没有任何效果。

当我取消注释此行时:

<!-- >android:permission="android.permission.BIND_WALLPAPER">-->


并对此发表评论:

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


livewallpaper在我的主屏幕上可以很好地工作,但是当我尝试运行MainActivity时,我却收到了这样的消息:“手机未安装应用”。
我该如何解决?

最佳答案

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

08-17 20:44