2010-09-25 41 views
7

我希望我的活動出現在您嘗試從主屏幕選擇壁紙時看到的活動列表(圖庫,動態壁紙等)中。我假設這是完成意圖,但似乎無法找到一個工程。我能找到的最接近的是:使活動出現在'壁紙選擇器'中

<action android:name="android.intent.action.ACTION_SET_WALLPAPER> 

但是這並不起作用,似乎被用於其他事情。

回答

0

基本上,你不能將活動設置爲壁紙。您必須改爲創建Live Wallpaper,然後使用CanvasSurfaceView上繪製您的內容。您可以在那裏自己創建視圖,以便手動在畫布上繪製它們,但這有點棘手,並且在大多數情況下不是您想要的。

+0

對不起,也許我不夠清楚。我不想將活動設置爲壁紙。我希望我的應用/活動成爲在您從主屏幕中點擊「壁紙」時彈出的「選擇壁紙」對話框下列出的項目。 – Kman 2010-09-25 09:43:31

1

下的列表「選擇從主屏幕點擊「壁紙」時彈出的對話框的壁紙在大多數手機上有三個條目(我查看了股票和HTC Sense):

  • 動態壁紙
  • 畫廊
  • 壁紙(或:HTC牆紙)

當我按從HTC Sense的主屏幕 '壁紙' 我得到:

09-26 20:17:58.901: INFO/ActivityManager(104): Starting activity: Intent { act=android.intent.action.SET_WALLPAPER_DIALOG cmp=com.htc.launcher/.WallpaperChooserDialog (has extras) } 
09-26 20:17:59.301: INFO/ActivityManager(104): Displayed activity com.htc.launcher/.WallpaperChooserDialog: 353 ms (total 353 ms) 

當股票:

09-26 20:19:41.231: INFO/ActivityManager(86): Starting activity: Intent { act=android.intent.action.CHOOSER cmp=android/com.android.internal.app.ChooserActivity (has extras) } 
09-26 20:19:41.571: INFO/ActivityManager(86): Displayed activity android/com.android.internal.app.ChooserActivity: 294 ms (total 294 ms) 

並且whe ñ我點擊通過'壁紙'時有貨:

09-26 20:19:51.101: INFO/ActivityManager(86): Starting activity: Intent { act=android.intent.action.SET_WALLPAPER flg=0x3000000 cmp=com.android.launcher/com.android.launcher2.WallpaperChooser } 
09-26 20:19:51.581: INFO/ActivityManager(86): Displayed activity com.android.launcher/com.android.launcher2.WallpaperChooser: 463 ms (total 463 ms) 

您需要使用android.intent.action.SET_WALLPAPER。也許你忘了一些其他的實施細節,如

<category android:name="android.intent.category.DEFAULT" /> 

所以選擇器可以拿起它?查看Photostream的源代碼(http://code.google.com/p/apps-for-android/source/browse/trunk/#trunk/Photostream)。羅曼蓋伊正在工作。