2012-01-11 85 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">