2012-02-04 47 views
0

我要「推」在服務的意圖Intent.ACTION_BATTERY_CHANGEDonStart如何推動意圖

我嘗試這樣做:

Intent batteryChanged = new Intent(); 
batteryChanged.setAction(Intent.ACTION_BATTERY_CHANGED); 
startActivity(batteryChanged); 

啓動時我怎樣才能更新窗口小部件?

回答

1

您不能自己發送該Intent(請參閱下面摘自解釋它是系統意圖的文檔的摘錄)。如果您的應用程序需要知道電池狀態何時發生變化,您應該使用BroadcastReceiver來監聽系統何時更新它。

公共靜態最後絃樂ACTION_BATTERY_CHANGED

...

這是一個只能由系統發送一個受保護的意圖。

常數值:「android.intent.action.BATTERY_CHANGED」

+0

嗯,我需要設置電池電量,當有人添加小部件。當小部件已經被添加,它正在等待ACTION_BATTERY_CHANGED並且工作正常,但正如我在開始時所說的,當我添加小部件時,我需要設置電池電量。 :) – 2012-02-04 19:39:26

+0

@Evelan:調用registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED))''。由於'ACTION_BATTERY_CHANGED'是一個粘性廣播,這將返回'ACTION_BATTERY_CHANGED'的最後廣播'Intent',它將包含你需要的額外內容。 – CommonsWare 2012-02-04 19:54:47

+1

好的。我只是第二個問題。當我調用startService兩次時會發生什麼?它解決了我的問題,但我寧願在此之前問我在這裏上傳應用程序到Android Market :) – 2012-02-04 20:30:10