2012-02-04 44 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