我有一个应用程序从互联网上的远程数据库获取/发送数据.
我需要让我的应用程序在后台模式下工作,然后我说我必须将所有发送/获取远程数据放在服务中.....
但是......这项服务如何改变我的活动的变量和UI文本字段的值?
我找不到任何关于此的信息,我发现的所有教程都是简单的服务,不会做那样的事情
有人能解释我该怎么办吗?
And*_*rew 14
在您的Activity中放置以下代码:
private BroadcastReceiver onBroadcast = new BroadcastReceiver() {
@Override
public void onReceive(Context ctxt, Intent i) {
// do stuff to the UI
}
};
Run Code Online (Sandbox Code Playgroud)
在onResume()中注册接收器:
registerReceiver(onBroadcast, new IntentFilter("mymessage"));
Run Code Online (Sandbox Code Playgroud)
一定要在onPause()中取消注册:
unregisterReceiver(onBroadcast);
Run Code Online (Sandbox Code Playgroud)
在您的服务中,您可以将消息发布到应用程序,您的活动将听到:
getApplicationContext().sendBroadcast(new Intent("mymessage"));
Run Code Online (Sandbox Code Playgroud)
如果需要,您可以将数据添加到Intent的包中以传递给您的Activity.
| 归档时间: |
|
| 查看次数: |
4323 次 |
| 最近记录: |