-2
我想实现一个异步任务,从服务中的url获取一个字符串。 我正在使用一个startedService,它调用异步任务获取正确的字符串,更新公共数据库类的内容并返回到主要活动,问题是我需要通知DB中的更改的列表适配器是在主要活动,我没有从服务中获得它,我是一个noobie,所以我不熟悉什么更好的使用,启动或绑定服务的工作,任何sugestions?在服务内创建一个异步任务
谢谢
我想实现一个异步任务,从服务中的url获取一个字符串。 我正在使用一个startedService,它调用异步任务获取正确的字符串,更新公共数据库类的内容并返回到主要活动,问题是我需要通知DB中的更改的列表适配器是在主要活动,我没有从服务中获得它,我是一个noobie,所以我不熟悉什么更好的使用,启动或绑定服务的工作,任何sugestions?在服务内创建一个异步任务
谢谢
您可以使用广播接收器: 在你的活动:
@Override
public void onResume() {
super.onResume();
// Register mMessageReceiver to receive messages.
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,
new IntentFilter("mybroadcast"));
}
// handler for received Intents for the "my-event" event
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Extract data included in the Intent
String message = intent.getStringExtra("message");
Log.d("receiver", "Got message: " + message);
}
};
@Override
protected void onPause() {
// Unregister since the activity is not visible
LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver);
super.onPause();
}
而从服务利用到广播:
Intent intent = new Intent();
intent.setAction("mybroadcast");
sendBroadcast(intent)
你可以用'BroadcastReceiver'了点。 –