手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android使用Messenger实现service与activity交互
Android使用Messenger实现service与activity交互
摘要: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软件编程有所帮助。

【Android使用Messenger实现service与activity交互】相关文章:

Android 使用Gallery实现3D相册(附效果图+Demo源码)

android:descendantFocusability方法介绍

Android动画之ScaleAnimation

Android中使用Gson解析JSON数据的两种方法

android屏幕全屏的实现代码

Android 有道词典的简单实现方法介绍

Android 模拟器(JAVA)与C++ socket 通讯 分享

Android 通过onDraw实现在View中绘图操作的示例

android md5加密与rsa加解密实现代码

Android中手机号码归属地查询实现

精品推荐
分类导航