ResultReceiver是一个用来接收其他进程回调结果的通用接口。要使用它,你需要创建一个子类并且实现onReceiveResult(int, android.os.Bundle)方法。
在其他线程中可以通过send(int, android.os.Bundle)方法发送数据。
它是一种进程间(IPC)传递信息信息的机制,和广播类似。实现代码:
- ResultReceiver receiver = new MyResultReceiver(handler);
- Bundle resultData =new Bundle();
- resultData.putString(MyResultReceiver.RESULT_KEY, msg);
- receiver.send(MyResultReceiver.RESULT_CODE_ONE, resultData);
--------------------------------------------------------------------
- public class MyResultReceiver extends ResultReceiver{
-
- public MyResultReceiver(Handler handler) {
- super(handler);
- }
- @Override
- protected void onReceiveResult(int resultCode, Bundle resultData) {
- // TODO Auto-generated method stub
- super.onReceiveResult(resultCode, resultData);
- String msg = resultData.getString(RESULT_KEY);
- if(resultCode==RESULT_CODE_ONE){
- Log.e("MyResultReceiver", msg);
-
- }else if(resultCode==RESULT_CODE_TWO){
- Log.e("MyResultReceiver", msg);
- }
- }
-
- }