0
我是android和java开发的新手。目前,我得到一个小任务通知电池信息作为部件。Android BroadcastReceiver,getResultData()总是返回null
我曾经搜索过,发现了一段从电池中检索信息的源代码(http://www.tutorialforandroid.com/2009/01/getting-battery-information-on-android.html)。我试图调整它的部件,但我有一个问题,关于BroadcastReceiver。 我试图将电池电量值从BroadcastReceiver传递到RemoteViews。我找到了BroadcastReceiver对象的getResultData()方法,但我总是得到它的空值。
因此,我想建议将此BroadcastReceiver值传递给RemoteViews。
为了使它更清晰,我在这里添加了一段代码。
public class MyBattery extends TimerTask {
RemoteViews remoteViews;
AppWidgetManager appWidgetmanager;
ComponentName thisWidget;
TextView contentTxt;
Context context;
public MyBattery(Context context, AppWidgetManager appWidgetManager){
this.appWidgetmanager = appWidgetManager;
remoteViews = new RemoteViews(context.getPackageName(),R.layout.main);
thisWidget = new ComponentName(context,widgetTest.class);
this.context = context;
}
private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent intent){
int level = intent.getIntExtra("level", 0);
contentTxt.setText(String.valueOf(level)+"%");
this.setResultData(String.valueOf(level)+"%");
}
};
@Override
public void run() {
remoteViews.setTextViewText(R.id.battery_label,""+ this.mBatInfoReceiver.getResultData());
appWidgetmanager.updateAppWidget(thisWidget, remoteViews);
}
}
感谢您的快速回复,但使用广播接收器与活动这里的例子。对我来说,我尝试使用它的小部件。 – Fon
我现在想通了。非常感谢! – Fon