2010-03-08 48 views
7

我試圖在主屏幕上創建一個快捷方式,按下時將啓動一項服務而不是一項活動。是否可以使用快捷方式啓動服務?

可能嗎?怎麼樣?

謝謝!

+0

什麼是服務在做什麼?只需設置一個接收器來收聽服務用來啓動它的東西呢? – Mark 2010-03-08 21:49:35

回答

9

您可以創建簡單地啓動的服務的虛擬活動,然後完成自己:

public class MyServiceActivity extends Activity { 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     Intent intent = new Intent(this, MyService.class); 
     startService(intent); 
     finish(); 
    } 
} 
+0

是的。我從字面上看待他,但那肯定會奏效。儘管如此,你可能不得不使用這個主題,所以你暫時不會看到一個活動。 – CommonsWare 2010-03-08 18:38:46

+0

此代碼絕對有效,這是我的代碼目前所做的。我試圖跳過額外的活動步驟。 – gnobal 2010-03-08 18:45:02

+3

請確保您的用戶瞭解正在發生的事情。我可以看到這種事情贏得了很多一星,「點擊shorcut並沒有發生」投訴在市場上。 – CommonsWare 2010-03-08 19:19:47

5

不,對不起。快捷方式只能啓動活動。

+0

那麼是否有任何官方的方式來創建一個小工具/快捷方式來啓動服務? (發送網絡請求)?快捷方式只能啓動活動,小部件與快捷方式不一樣。謝謝。 – 2018-01-05 12:26:42

+0

@ThomasVos:應用程序小部件可以使用PendingIntent啓動活動,啓動服務或發送廣播。只需將其綁定到應用程序窗口小部件的用戶界面(例如,按鈕)中,以便在單擊該用戶界面時進行調用。 – CommonsWare 2018-01-05 13:00:13

+0

感謝您的回覆。這將起作用,但我希望1x1小部件具有與「快捷方式」相同的樣式。 – 2018-01-05 13:11:31

相關問題