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

海口自助建站郑州seo公司排名

海口自助建站,郑州seo公司排名,wordpress tax query,济南网站运营从0系统学Android--52 发送广播本系列文章目录#xff1a;更多精品文章分类本系列持续更新中…. 初级阶段内容参考《第一行代码》5.3 发送自定义广播前面已经学习了如何接受广播了#xff0c;下面来学习如何发送自定义广播#xff0c;广播类型分为#xff1a;标准广播和有序…从0系统学Android--52 发送广播本系列文章目录更多精品文章分类本系列持续更新中…. 初级阶段内容参考《第一行代码》5.3 发送自定义广播前面已经学习了如何接受广播了下面来学习如何发送自定义广播广播类型分为标准广播和有序广播下面分别来说一下这两种广播如何发送。5.3.1 发送标准广播首先我们先创建一个广播接收器用来接收我们发送的自定义广播。用静态广播来实现public class MyReceiver extends BroadcastReceiver {Overridepublic void onReceive(Context context, Intent intent) {Toast.makeText(context,接收到了,Toast.LENGTH_SHORT).show();} }receiverandroid:namecom.example.firstcode.fifty_chapter.norboardcast.MyReceiverandroid:enabledtrueandroid:exportedtrueandroid:permissionnointent-filteraction android:namecom.my_broadcast//intent-filter/receiver这里 action 里面写自己要发送的广播的名字就可以了 随便在一个页面添加发送代码 buttonSend.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {Intent intent new Intent(com.my_broadcast);sendBroadcast(intent);}}); 需要注意一点上面的这种做法在 Android 8.0前是好用的在 8.0 后进行了限制限制通过静态注册来接受隐式广播详见。 其实对于部分隐式广播也是可以的比如开机广播通过这个限制我们可以得到解决办法有两种1.不通过静态注册接收器通过动态注册就可以了2.通过静态注册接收器但是发送的广播不要是隐式的。第一种很简单就是动态注册这里不演示了演示第二种 buttonSend.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {Intent intent new Intent(com.my_broadcast);// 明确指明要此广播要发送给的组件intent.setComponent(new ComponentName(NetChangeActivity.this, MyReceiver.class));NetChangeActivity.this.sendBroadcast(intent);}}); 由于广播是通过 Intent 来进行传递的因此我们可以通过 Intent 来携带一些数据。5.3.2 发送有序广播广播是一种跨进程的通信也就是说可以让不同的应用程序进行通信如何发送有序广播呢 NetChangeActivity.this.sendOrderedBroadcast(intent,null); 这样就是发送有序广播了第二个参数是与权限有关传入 null 就可以了那么如何设置接收器接受的顺序呢 intent-filter android:priority100action android:namecom.my_broadcast.MY_BROADCAST//intent-filter 通过 android:priority 来设置。同样接收器在接收到消息后也可以通过 abortBroadcast() 来截取广播让后面的接收器无法再接受到这条广播。5.4 使用本地广播前面我们发送和接受的广播全部属于系统全局广播也就是说这些广播可以被系统中的其他应用程序接收到并且我们也可以接受到来自其他任何应用的广播。这样容易引起安全问题。为了解决这个问题Android 引入了一套本地广播机制使用这个机制广播只能够在程序内部进行传递。其实实现很简单就是通过 LocalBroadcastManager 来对广播进行管理。下面我们就来列几个方法就可以了LocalBroadCastManager localBroadCastManager LocalBroadCastManager.getInstance(this)// 获取实例 // 发送广播的时候 Intent intent new Intent(com.broadcst.syd); localBroadCastManager.senBroadCast(intent);// 注册广播接收器 IntentFilter intentFilter new IntentFilter(); intentFilter.addAction(com.broadcst.syd); localBroadCastManager.registerReceiver(localReceiver,intentFilter);// 取消注册 localBroadCastManager.unregisterReceiver(localReceiver); 其实和之前动态注册发送都是一样的只是换了一个类来执行而已。本地广播是无法通过静态注册的 这很好理解静态注册是为了让应用程序还没有启动就能接受广播而发送本地广播的时候程序肯定已经启动了因此完全不需要静态注册了。注意这里的本地指的是当前应用程序内使用本地广播优势明确的知道发送的广播不会离开我们的应用程序不用担心泄漏信息。同样其他广播也无法发送到我们程序内部不用担心有安全漏洞。发送本地广播比发送系统全局广播将会更加高效
http://www.zqtcl.cn/news/942907/

相关文章:

  • HTML网站建设课程微商怎么做网站
  • 专业数据分析网站wordpress 很差
  • 请人做个网站多少钱google推广妙招
  • 郑州销售网站开一个设计公司
  • 建筑公司网站常用长尾词网页设计实训总结100字
  • 网站开发项目业务要求wordpress前台注册登陆
  • 上海人才网官网招聘人力资源专业wordpress seo title
  • 简单html网站网页设计培训学费多少
  • 麻城网站建设投标网招标网
  • 网站建设行业细分专业动漫如何制作
  • 做地方网站数据哪里来模板网站建设教程视频
  • 株洲建设网站制作网络怎么推广自己的产品
  • dtu网站开发赣县网站制作
  • 东莞旅游网站建设微网站怎么做
  • 网站怎么没有排名做义工旅行有哪些网站
  • 阳江房地产信息网官方网站创业网站开发要多少钱
  • 工业设计招聘信息网站常用的seo网站优化排名
  • 温岭市建设规划局网站网站规划与建设ppt
  • 龙岩网站建设较好的公司做网站销售的换工作
  • 潞城建设局网站建设网站服务器自营方式的特点
  • 西安网站seo公司东莞市专注网站建设怎么样
  • dede游戏网站模板如何做盆栽蔬菜网站
  • 江都建设网站网站开发技术介绍
  • 网站介绍视频怎么做网站建设优化服务
  • 可以左右滑动的网站有口碑的盐城网站建设
  • 360报危险网站注册界面设计
  • 不用淘宝客api如何做网站北京移动官网网站建设
  • 手表哪个网站做的好河北网站备案流程
  • 凡科做的网站推效果网站做seo第一步
  • 建设在线观看视频网站免费企业网站建设免费