Android 如何更新服务类中更新的textview文本
我开发了一个应用程序,其中包含Android 如何更新服务类中更新的textview文本,android,android-layout,service,background,Android,Android Layout,Service,Background,我开发了一个应用程序,其中包含开始、暂停、恢复和完成按钮 它使用线程和处理程序在活动中正常工作 如果用户单击开始按钮,线程将启动并显示文本视图hh:MM:SS时间,其余按钮也正常工作 问题: 如果活动转到后台,那么我如何更新文本视图时间?我已经为此任务提供了服务,但是,我如何将响应从服务转移到用户界面? 请告诉我如何做或其他可能的解决方案好吗?如果您在活动中创建一个简单的新线程(new Runnable(){…}),您可以使用rununuithread(new Runnable(){//your
开始
、暂停
、恢复
和完成
按钮
它使用线程和处理程序在活动中正常工作
如果用户单击开始按钮
,线程将启动并显示文本视图hh:MM:SS时间
,其余按钮也正常工作
问题:
如果活动转到后台,那么我如何更新文本视图时间?我已经为此任务提供了服务,但是,我如何将响应从服务转移到用户界面?
请告诉我如何做或其他可能的解决方案好吗?如果您在活动中创建一个简单的
新线程(new Runnable(){…})
,您可以使用rununuithread(new Runnable(){//your UI modify method})
Acitvity方法运行UI操作。如果活动转到后台,线程仍在运行。您可以创建CustomBroadcast
下面是示例代码。
试试这个,它会有用的
在YourService.Java中
public static final String BROADCAST_ACTION = "com.example.tracking.updateprogress";
intent = new Intent(BROADCAST_ACTION);
sendBroadcast(intent);
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();
}
}
在YourActivity.Java中
public static final String BROADCAST_ACTION = "com.example.tracking.updateprogress";
intent = new Intent(BROADCAST_ACTION);
sendBroadcast(intent);
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
如何使用停止和暂停服务?启动、恢复、正常停止工作中传递数据。如何恢复服务?是指?当我单击“暂停”按钮时,如何暂停服务?服务无法暂停/恢复