2012-01-11 82 views
1

我有livewallpaper,livewallpaper设置活动和标准的MainActivity。 重点在于livewallpaper不能与MainActivity一起使用。 当我的清单看起来是这样的:与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。我看到livewallpaper的预览,我可以更改设置,但是当我点击“设置壁纸”按钮时,没有任何效果。

当我去掉这一行:

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

和评论的:

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

我的主屏幕livewallpaper的伟大工程,但是当我尝试运行MainActivity我得到吐司这样的消息: “应用程序未安装在您的手机上”。 我该如何解决它?

+2

接受一些答案花花公子!为了您的声誉和用户的动机来回答您的问题 – iTurki 2012-01-11 14:12:53

+1

我不知道这是什么原因造成的问题,但我认为您应该将BIND_WALLPAPER权限移动到服务标签 – Jave 2012-01-11 14:26:28

+0

@Jave,它的工作原理! – mklimek 2012-01-11 14:37:23

回答

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