iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android使用Messenger实现service与activity交互
  • 864
分享到

Android使用Messenger实现service与activity交互

messengerserviceactivityAndroid 2022-06-06 08:06:33 864人浏览 独家记忆
摘要

service与activity交互的方式有多种,这里说说使用Messenger来实现两者之间的交互。 Service程序: public class MessengerSe

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检测Activity或者Service是否运行的方法Android中Service和Activity相互通信示例代码Android中Service与Activity之间通信的几种方式Android Activity与Service通信(不同进程之间)详解Android Activity 与Service进行数据交互详解浅谈Android Activity与Service的交互方式Android实现Activity、Service与Broadcaster三大组件之间互相调用的方法详解Android实现从activity中停止Service的方法Android中Service实时向Activity传递数据实例分析android使用service和activity获取屏幕尺寸的方法详解Android Service与Activity之间通信的几种方式


--结束END--

本文标题: Android使用Messenger实现service与activity交互

本文链接: https://www.lsjlt.com/news/24865.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Service与Activity的相互通信怎么在Android项目中实现
    今天就跟大家聊聊有关Service与Activity的相互通信怎么在Android项目中实现,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在Android中,Activity主要负责...
    99+
    2023-05-31
    activity service android
  • 怎么在Android中实现Service与Activity的通信
    本篇文章为大家展示了怎么在Android中实现Service与Activity的通信,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。第一种方式:通过MyBinder方式调用Service方法MainA...
    99+
    2023-05-30
    android service activity
  • 使用Messenger实现Service的双向通信
    Android体系架构中有一个解决方案:利用Android Messenger实现Service进程间双向通信。 MainActivity 类: package com.exam...
    99+
    2024-04-02
  • Android项目中Fragment与Activity怎么实现相互跳转
    Android项目中Fragment与Activity怎么实现相互跳转?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Activity及Fragment之间的跳转直接跳转基本使用...
    99+
    2023-05-31
    android activity fragment
  • golang与pgsql交互的实现
    目录1、目的2、代码架构3、代码展示1、目的 通过读取配置文件获取pgsql用户名和密码及数据库和数据表,从而读取所需字段值。 2、代码架构 config/config.go:读取...
    99+
    2023-03-19
    golang pgsql交互 golang pgsql
  • JavaScript与HTML怎么实现交互
    这篇文章主要介绍“JavaScript与HTML怎么实现交互”,在日常操作中,相信很多人在JavaScript与HTML怎么实现交互问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • PHP与Javascript怎么实现交互
    PHP与Javascript怎么实现交互,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。PHP与Javascript交互的方法:通过Cookie交互。一共是三个文件,分别为:...
    99+
    2023-06-17
  • golang与pgsql交互如何实现
    本文小编为大家详细介绍“golang与pgsql交互如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang与pgsql交互如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、目的通过读取配置文...
    99+
    2023-07-05
  • 使用springMVC如何实现与json数据进行交互
    使用springMVC如何实现与json数据进行交互?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前台代码:function channel(){ //先获取选中的值 ...
    99+
    2023-05-31
    springmvc json
  • Android应用中怎么与Apache Tomcat服务器实现数据交互
    Android应用中怎么与Apache Tomcat服务器实现数据交互?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。环境部署服务器:apache-tomcat-8.5.9语言版...
    99+
    2023-05-31
    android apache tomcat服务器
  • QML与C++交互的实现步骤
    目录前言第一个例子:QML中创建C++对象第二个例子:C++中加载QML对象参考前言 文档如是说,QML旨在通过C ++代码轻松扩展。Qt QML模块中的类使QML对象能够从C ++...
    99+
    2024-04-02
  • QT与javascript交互数据的实现
    一、数据从QT流向JS 1、QT调用JS的函数,JS通过形参获得QT的值 2、JS调用QT的函数,QT函数的返回值进入JS 二、数据从JS流向QT 1、JS调用QT的函数,QT通过形...
    99+
    2024-04-02
  • Django与数据库交互的实现
    目录1 如何创建项目数据库2 进行数据库与django的交互3 添加数据4 查找数据4 更新数据1 如何创建项目数据库 首先,在虚拟机数据库中建立一个与项目同名的数据库,方便管理。 ...
    99+
    2024-04-02
  • 如何实现Linux下交互式与非交互式修改用户密码
    这篇文章主要介绍“如何实现Linux下交互式与非交互式修改用户密码”,在日常操作中,相信很多人在如何实现Linux下交互式与非交互式修改用户密码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现Linux...
    99+
    2023-06-09
  • MongoDB如何与JavaScript交互使用
    MongoDB可以与JavaScript交互使用通过MongoDB的官方驱动程序或者使用第三方库,比如Mongoose。以下是一些基...
    99+
    2024-05-07
    MongoDB JavaScript
  • 使用CSS3来代替JS实现交互
    这篇文章给大家分享的是有关使用CSS3来代替JS实现交互的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。【CSS3和JS】对于CSS了解的同学都知道,CSS的实现是最底层的,在实现方式和性能上都不是,JS这种提供接...
    99+
    2023-06-08
  • Hadoop与虚拟现实技术的交互作用
    Hadoop与虚拟现实技术可以相互配合,从而提高数据处理和分析的效率。以下是两者之间可能的交互作用: 数据处理:Hadoop可以...
    99+
    2024-02-29
    Hadoop
  • 怎么在Android中利用Activity实现跳转与传值
    今天就跟大家聊聊有关怎么在Android中利用Activity实现跳转与传值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Android Activity的跳转与传值详解Activi...
    99+
    2023-05-31
    android activity roi
  • Flutter webview与网页通讯交互实现
    目录前言预览具体实现flutter中使用ds_bridge网页端使用dsbridge_flutter总结前言 在app开发中我们有JSBridge来实现app和网页端通讯,现参考JS...
    99+
    2024-04-02
  • Flex与JavaScript中怎么实现交互中调用
    今天就跟大家聊聊有关Flex与JavaScript中怎么实现交互中调用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、在JavaScript中调用Flex方法在Flex中可以用Ex...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作