Android使用Messenger实现service与activity交互
Android使用Messenger实现service与activity交互
发布时间:2016-12-28 来源:查字典编辑
摘要:service与activity交互的方式有多种,这里说说使用Messenger来实现两者之间的交互。Service程序:publiccla...

service与activity交互的方式有多种,这里说说使用Messenger来实现两者之间的交互。

Service程序:

public class MessengerService extends Service { final Messenger mMessenger = new Messenger(new IncomingHandler()); @Override public IBinder onBind(Intent intent) { return mMessenger.getBinder(); } @SuppressLint("HandlerLeak") class IncomingHandler extends Handler { @Override public void handleMessage(Message msg) { switch (msg.what) { case 0: Toast.makeText(MessengerService.this,"Hello lenve!", Toast.LENGTH_LONG).show(); break; case 1: Toast.makeText(MessengerService.this,"Hello lenve!Hello world!", Toast.LENGTH_LONG).show(); break; default: break; } } } }

MainActivity.javaL:

public class MainActivity extends Activity { private Messenger mMessenger; private ServiceConnection conn; private Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); intent = new Intent(this,MessengerService.class); conn = new ServiceConnection() { @Override public void onServiceDisconnected(ComponentName name) { mMessenger = null; } @Override public void onServiceConnected(ComponentName name, IBinder service) { mMessenger = new Messenger(service); } }; } @Override protected void onStart() { super.onStart(); bindService(intent, conn, BIND_AUTO_CREATE); } @Override protected void onStop() { super.onStop(); unbindService(conn); } public void onClick(View v){ Message msg = null; switch (v.getId()) { case R.id.button1: msg = Message.obtain(null, 0, 0, 0); try { mMessenger.send(msg); } catch (RemoteException e) { e.printStackTrace(); } break; case R.id.Button01: msg = Message.obtain(null, 1, 0, 0); try { mMessenger.send(msg); } catch (RemoteException e) { e.printStackTrace(); } break; default: break; } } }

原文链接:http://blog.csdn.net/u012702547/article/details/46989417

以上就是本文的全部内容,希望对大家学习Android软件编程有所帮助。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类