如何更新服务类中更新的textview文本
问题描述:
我开发了一个应用程序,其中start
,pause
,resume
和finish
按钮。如何更新服务类中更新的textview文本
它在使用线程和处理程序的活动中正常工作。
如果用户点击start button
,则会启动一个线程并显示textviewHH:MM:SS time
,其余按钮也会正常工作。
问题:
如果活动被切换到后台然后如何更新TextView的时间?我已为此任务提供服务,但是,如何从服务向UI返回?
请问,你能告诉我怎么做或任何其他可能的解决方案吗?
答
您可以创建CustomBroadcast
下面是示例代码。 试试这个,它会运行
在YourService.Java
public static final String BROADCAST_ACTION = "com.example.tracking.updateprogress";
intent = new Intent(BROADCAST_ACTION);
sendBroadcast(intent);
在YourActivity.Java
registerReceiver(broadcastReceiver, new IntentFilter(YourService.BROADCAST_ACTION));
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//Update Your UI here..
updateUI();
}
}
您也可以通过在Intent
数据。
答
如果您在活动内创建了一个简单的new Thread(new Runnable() {...})
,您可以使用runOnUiThread(new Runnable() { // your UI modify method })
Acitvity方法运行UI操作。如果活动转到后台,线程仍在运行。
如何在服务中使用停止和暂停? – Harshid 2013-04-26 06:10:23
启动,恢复,停止工作proper.how暂停服务? – Harshid 2013-04-26 06:11:11
开始,**恢复**,停止正常工作。如何**恢复**服务?手段? – 2013-04-26 06:13:02