service 中创建handler

/*** 用于接收从客户端传递过来的数据*/
class IncomingHandler extends Handler {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case 6:Log.i("map", "thanks,Service had receiver message from client!");break;default:super.handleMessage(msg);}}
}/*** 创建Messenger并传入Handler实例对象*/
final Messenger mMessenger = new Messenger(new IncomingHandler());
/*** 当绑定Service时,该方法被调用,将通过mMessenger返回一个实现* IBinder接口的实例对象*/
@Override
public IBinder onBind(Intent intent) {Log.i(TAG, "Service is invoke onBind");return mMessenger.getBinder();
}

activity 中创建Messenger和ServiceConnection

/*** 与服务端交互的Messenger*/
Messenger mMessenger = null;/** Flag indicating whether we have called bind on the service. */
boolean mBound;/*** 实现与服务端链接的对象*/
private ServiceConnection mConnection = new ServiceConnection() {public void onServiceConnected(ComponentName className, IBinder service) {/*** 通过服务端传递的IBinder对象,创建相应的Messenger* 通过该Messenger对象与服务端进行交互*/mMessenger = new Messenger(service);mBound = true;}public void onServiceDisconnected(ComponentName className) {// This is called when the connection with the service has been// unexpectedly disconnected -- that is, its process crashed.mMessenger = null;mBound = false;}
};

开启service

bindService(new Intent(MainActivity.this, ForegroundService.class), mConnection,Context.BIND_AUTO_CREATE);

activity 发送数据到service

public void sayHello(View v) {if (!mBound) return;// 创建与服务交互的消息实体MessageMessage msg = Message.obtain(null, 6, 0, 0);try {//发送消息mMessenger.send(msg);} catch (RemoteException e) {e.printStackTrace();}
}

activity与service 使用Handler Messenger数据传递相关推荐

  1. android数据回传多个页面_Android Day06四大组件之Activity多页面跳转和数据传递

    ToolBar中menu无法同时显示图标和文字问题的解决方法 Toolbar添加返回按钮 ToolBar与ActionBar 1.什么是Activity 官方文档是这么说的:Anwhich users ...

  2. android不同activity是ruhr进行通信和数据传递,Preface.

    摘要: The "International Topical Conference on Plasma Science: Advanced Plasma Concepts" was ...

  3. android studio 跳转后保留原页面数据_Intent详解以及Activity的跳转与数据传递

    在上一次讲述Activity的时候,还有一个非常重要且常用的知识点没有讲,就是不同Activity之间的跳转和数据传递.我们在平常在使用app应用的时候,Activity的跳转和数据传递是经常会接触到 ...

  4. 三个activity之间跳转 数据传递_第二百四十二回:Android中Fragment之间的数据传递概述...

    各位看官们大家好,上一回中咱们说的是Android中Activity之间数据传递的例子,这一回咱们说的例子是Fragment之间的数据传递.闲话休提,言归正转.让我们一起Talk Android吧! ...

  5. android 打印流程图,Android实现Activities之间进行数据传递的方法

    本文实例讲述了Android实现Activities之间进行数据传递的方法.分享给大家供大家参考.具体分析如下: 首先,先说明一下Activity的启动及关闭: 1. startActivity(In ...

  6. Android Studio开发基础之启动Service,并通过从Activity向Service传递数据

    本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Service,并敲如下代码: package com.example.lhb.startservice;imp ...

  7. android 启动服务同时传递数据,Android Studio开发基础之起动Service,并通过从Activity向Service传递数据...

    Android Studio开发基础之启动Service,并通过从Activity向Service传递数据 本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Se ...

  8. 安卓用于组件传递参数的对象是_入门篇:7.组件2:Android Service-service的数据传递与通信...

    (由于对java的回调机制和线程理解的不够透彻,所以这块内容我理解了好久,尤其是绑定服务传递数据,一句一句写一句一句看,对我来说挺难理解的.以后还要多看几遍--!) 既然单纯的启动或跳转activit ...

  9. Android之一窥究竟Activity间的数据传递以及Intent的用处

    1.Activity与Intent * 1.1何为Intent * 1.2Intent的用武之地 * 1.3Activity间的数据传递 转载请标明出处: http://blog.csdn.net/h ...

最新文章

  1. redis未能启动服务器,redis服务启动不了的解决办法(服务器应非法关机了)
  2. office上下滑动滚轮特别卡_滚轮及部件|自动扶梯和自动人行道
  3. Pytorch:数据并行和模型并行,解决训练过程中内存分配不均衡的问题
  4. varchar类型字段排序混乱问题
  5. Javascript中的null、undefined、NaN
  6. html cdn不缓存,【前端开发日常 - 6】七牛CDN上的网页缓存问题及HTML禁止缓存(续)...
  7. [学习笔记] vim使用大全 [转]
  8. java逻辑运算符的使用
  9. POJ_3740 Easy Finding ——精确覆盖问题,DLX模版
  10. Firewalld 允许指定IP访问端口
  11. 通过3dmax将max文件导出为unity3d可用的带贴图的fbx文件
  12. 给Ubuntu配置静态IP地址
  13. 去掉svn的蓝色问号
  14. 用例建模指南lt;二gt;
  15. 武器篇-1.摔炮(算不上武器原理可以推广到武器)//2021-1-26
  16. 解决Word磁盘已满不让保存的问题
  17. 美国第一个设置计算机的学校,美国计算机专业院校
  18. iOS程序main函数之前发生了什么
  19. 计算机竞赛的数学知识,可以参加的数学类和计算机类竞赛有哪些?
  20. 有哪些优质的电脑端浏览器推荐?

热门文章

  1. 前端学习(2741):重读vue电商网站51之首页内容定制
  2. 前端学习(2619):vue插槽--具名插槽
  3. 前端学习(2252)推送代码
  4. “约见”面试官系列之常见面试题第二十一篇之函数防抖和节流(建议收藏)
  5. 前端学习(1732):前端系列javascript之状态切换
  6. 前端学习(1512):vue-router文档
  7. 实例54:python
  8. hive简介(大数据技术)
  9. PHP Fatal error: Uncaught think\\exception\\ErrorException: error_log相关解决方法
  10. 记腾讯互娱网站布局(3)