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