当前位置: 首页 > news >正文

猪八戒做网站东莞有哪些大公司

猪八戒做网站,东莞有哪些大公司,设计一个网站的价格,房管局 网站做房查Android 跨进程之间通信 Android 跨进程之间通信(IPC)方式之BroadcastReceiverAndroid 跨进程之间通信(IPC)方式之ContentProvider 文章目录 Android 跨进程之间通信前言一、ContentProvider 是什么#xff1f;二、如何利用ContentProvider跨进程通信1.创建自定义ContentProv…Android 跨进程之间通信 Android 跨进程之间通信(IPC)方式之BroadcastReceiverAndroid 跨进程之间通信(IPC)方式之ContentProvider 文章目录 Android 跨进程之间通信前言一、ContentProvider 是什么二、如何利用ContentProvider跨进程通信1.创建自定义ContentProvider2.清单文件声明注册3.发送消息4.杀掉进程测试 小结 前言 当谈到在 Android 上实现跨进程通信IPC时ContentProvider 往往是一个备受关注的话题。ContentProvider 作为 Android 中的一种数据共享机制最初设计用于应用内数据的共享和访问但它也被广泛应用于不同应用程序之间的进程间通信。 上一篇文章讲述了如何利用BroadcastReceiver在进程之间通信用广播的方式虽然能够达到通信效果但是在进程被杀死的情况下还是无法通信。所以本文来介绍另一种进程之间的通信方式在进程被意外杀死的情况下依然可以接收到另一个进程的消息。 一、ContentProvider 是什么 ContentProvider 是 Android 系统提供的一种用于管理应用程序数据的组件。尽管其名称可能会让你误以为它仅仅提供数据存储的功能但实际上它更像是一个数据访问的中间层允许应用程序之间共享数据并提供统一的接口供其他应用程序访问和操作这些数据。 主要用途包括 数据共享ContentProvider 可以允许应用程序之间共享数据。这些数据可以是结构化的、非结构化的甚至可以是文件、数据库中的数据等。数据访问通过ContentProvider 提供的标准化接口其他应用程序可以访问和操作相应应用程序的数据包括增删改查等操作。URI 访问ContentProvider 使用 URI来标识数据其他应用程序可以使用 URI来定位和访问特定数据。权限控制ContentProvider 可以定义权限来控制哪些应用程序有权访问数据从而保护数据安全性。 二、如何利用ContentProvider跨进程通信 1.创建自定义ContentProvider 在A项目中创建一个名为AppProvider的类继承ContentProvider,主要是在call方法中写接收消息的逻辑判断代码示例如下。 Overridepublic Bundle call(String method, String arg, Bundle extras) {if (receive_B_msg.equals(method)) {String packageName extras.getString(packageName);Log.d(call, --- AppProvider receive_B_msg packageName: packageName);if (mContext ! null){//你的逻辑操作}else {Log.d(call, --- AppProvider call() mContext is null);}return extras;}return null;}2.清单文件声明注册 在A项目的清单文件内对自定义的AppProvider进行声明注册。其中authorities是B发消息的路径名称 applicationproviderandroid:name.AppProviderandroid:authoritiesaaaaaaaaandroid:exportedtrue //applicationqueriespackage android:namecom.xzhy.bdemo /provider android:authoritiescom.xzhy.bdemo.AppProvider //queries3.发送消息 在B项目中调用下面代码对A发送消息 ContentResolver resolver getContentResolver();Bundle extras new Bundle();extras.putString(clsName, SomeClassName);extras.putString(status, SomeStatus);extras.putString(packageName, com.xzhy.bdemo);extras.putString(processName, SomeProcessName);resolver.call(Uri.parse(content://aaaaaaaa), receive_B_msg, null, extras);查看A项目的日志可以发现已经成功收到了B发来的消息。 4.杀掉进程测试 在真机上面使用A、B两个进程关闭掉A的情况下发消息B进程项目是会报错的无法找到路径但是在模拟器7.0的手机上测试却不会报错显示。 小结 本文简单的介绍了如何利用ContentProvider在跨进程之间进行通信需要注意的是虽然在杀死掉进程A后B进程发消息会受影响但实际上在同一个App下开启另一个进程在原本进程和新开进程之间用这种方式即使进程被杀死也依然是可以做到通信的。本文仅仅是开两个App进程进行的测试遇到的业务场景比如说在一个APP下你用来做壳包通过虚拟加载的形式在打开App后安装了另一个App此时新的App需要与原本的壳包进程进行通信可以采用ContentProvider的形式进行通信不用关心壳包是否被杀死也可以收到消息。
http://www.pierceye.com/news/518889/

相关文章:

  • 福建省建设注册管理中心网站那些做面点的网站好
  • 天津网站建设方案托管wordpress 批量删除
  • 网站后台管理系统域名在线设计房屋装修
  • 郑州网站建设工作室wordpress 编辑器字号
  • 内容聚合网站开发教程WordPress文章首页缩进
  • saas云建站平台源码新冠2024中国又要封城了
  • 济南网站建设认可搜点网络滨州网站建设
  • 政务公开及网站建设意见网站的策划方案怎么写
  • 网站培训制度郑州建网站哪个公司好
  • 网站建设优化怎么做微信公众平台开发网站
  • 网站建设的什么是网站建设的第一阶段公司简介概况怎么写
  • 玛伊网站做兼职加入要多少钱装修房子的app软件哪个好
  • 免费空间asp网站公众号编辑器排行榜
  • 鲜花培训网站建设网站建设技术部奖惩制度
  • 国内优秀设计网站站长营销型网站建设 案例
  • 织梦网站维护唐山网站建设哪家专业
  • 网上打字兼职正规网站深圳各区房价一览表
  • 怎样建设网站是什么怎么看网站空间多大
  • 如何备份网站的手机版免费申请微网站
  • 淘宝不允许 网站建设wordpress页面无法编辑器
  • 个人怎么做课程网站seo神马网站推广器
  • 做购物比价的网站有哪些外贸移动商城网站建设
  • 网站开发的特点做直通车任务的网站
  • 分类信息系统网站模板wordpress黑客
  • 推荐一个代做毕业设计的网站云服务器怎么搭建
  • 网站制作计算机电商运营seo
  • 网站关键词分隔符建站用什么工具
  • 广元网站开发兰州电商平台网站建设
  • 网站怎么黑北京广告设计公司排行
  • 番禺网站排名推广优化排名网站开发类标书模板