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

青岛网站建设市场分析怎么才能在百度上做引流呢

青岛网站建设市场分析,怎么才能在百度上做引流呢,短视频营销推广策略,室内设计联盟 官网什么是BroadcastReceiver BroadcastReceiver(广播接收器)用于响应来自其他应用程序或者系统的广播消息。这些消息有时被称为事件或者意图。本质上来讲BroadcastReceiver是一个全局的监听器,隶属于Android四大组件之一。 使用场景 1、 不同…

什么是BroadcastReceiver

BroadcastReceiver(广播接收器)用于响应来自其他应用程序或者系统的广播消息。这些消息有时被称为事件或者意图。本质上来讲BroadcastReceiver是一个全局的监听器,隶属于Android四大组件之一。

使用场景

1、 不同组件之间通信(包括应用内 / 不同应用之间)
2、Android系统在特定情况下与App之间的消息通信
3、多线程通信

分类

1.无序广播

在广播发出之后,所有广播接收器几乎都会在同一时刻接收到这条广播消息,它们之间没有任何先后顺序,广播的效率较高。

2.有序广播

在广播发出之后,同一时刻只有一个广播接收器能够收到这条广播消息,当其逻辑执行完后该广播接收器才会继续传递。特殊情况下可以对广播进行拦截。

我个人不建议使用有序广播进行处理,因为部分手机的优先级倒置的情况,在实际处理问题的过程中是一件非常麻烦的事儿,尤其是在这个产品多元化的年代,尽量不要给开发过程找麻烦

实现

创建DemoBroadcastReceiver

public class DemoBroadcastReceiver extends BroadcastReceiver {private String TAG = "broadcast_get";@Overridepublic void onReceive(Context context, Intent intent) {Log.v(TAG, intent.getStringExtra("value")+isOrderedBroadcast());
//        abortBroadcast();//有序广播时可以根据业务需求进行拦截}
}

注册

注册分为两种形式,动态注册和静态注册

动态注册

动态注册是指在Activity中进行注册,方法如下

        IntentFilter inflater = new IntentFilter();inflater.addAction(SEND_RECEIVER_CODE);inflater.setPriority(666);demoBroadcastReceiver = new DemoBroadcastReceiver();if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {mContext.registerReceiver(demoBroadcastReceiver,inflater, Context.RECEIVER_NOT_EXPORTED);}else {mContext.registerReceiver(demoBroadcastReceiver,inflater);}

静态注册

静态注册指的是在AndroidManifest.xml中进行注册,方法如下

        <receiver android:name=".demo.receiver.DemoBroadcastReceiver"android:enabled="true"android:exported="true"><intent-filter android:priority="500"><action android:name="ACTION_DEMO_SENDER"/></intent-filter></receiver>

发送广播

有序广播

 		Intent intent = new Intent();intent.setAction(SEND_RECEIVER_CODE);intent.setPackage(mContext.getPackageName());intent.putExtra("value","发送广播测试");mContext.sendOrderedBroadcast(intent,null);

无序广播

 		Intent intent = new Intent();intent.setAction(SEND_RECEIVER_CODE);intent.setPackage(mContext.getPackageName());intent.putExtra("value","发送广播测试");mContext.sendBroadcast(intent);

取消注册

 @Overrideprotected void onDestroy() {mContext.unregisterReceiver(demoBroadcastReceiver);super.onDestroy();}

设置优先级

优先级适用于有序广播,值越大,优先级越高(在没有发生优先级倒置的情况下)

 inflater.setPriority(666);

拦截

适用于有序广播,拦截后消息不在发送给其它广播

abortBroadcast();

特别说明

Context.RECEIVER_NOT_EXPORTED 表示为应用内部广播
Context.RECEIVER_EXPORTED 表示可以接收应用外部广播

这部分其实很简单,根据自己的实际情况去使用就可以了

系统广播

常用的系统广播如下

//网络相关的广播
android.net.conn.CONNECTIVITY_CHANGE
android.net.wifi.WIFI_STATE_CHANGED
android.net.wifi.STATE_CHANGE//电池电量的广播
android.intent.action.BATTERY_CHANGED
android.intent.action.BATTERY_LOW//屏幕状态的广播
android.intent.action.SCREEN_ON
android.intent.action.SCREEN_OFF.........

举例

接收系统广播

比如我们想监听一下屏幕是否点亮的需求,就可以如下实现

  		IntentFilter inflater = new IntentFilter();inflater.addAction(SEND_RECEIVER_CODE);inflater.addAction("android.intent.action.SCREEN_OFF");inflater.addAction("android.intent.action.SCREEN_ON");inflater.setPriority(666);demoBroadcastReceiver = new DemoBroadcastReceiver();if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {mContext.registerReceiver(demoBroadcastReceiver,inflater, Context.RECEIVER_EXPORTED);}else {mContext.registerReceiver(demoBroadcastReceiver,inflater);}

打完收工,拜拜

http://www.yayakq.cn/news/609490/

相关文章:

  • 研究思路 网站建设智龙迷城 wordpress
  • 医院网站建设需要多少钱wordpress硬盘
  • 企业高端网站建设美工沈阳搜索排名公司
  • 移动网站开发实例自己做网站 什么软件
  • 商城建站报价方案wordpress 表 用户文章
  • 山西商城网站建设遂宁市网站建设
  • 个人建站怎么做网站好江西宜春市建设局网站
  • 重庆网站策划学it需要什么学历
  • 网站响应式是什么意思wordpress数据库设置
  • 力杨网站建设网站建社石家庄
  • 找深圳网站建设动态列线图怎么制作网页
  • dw做网站的实用特效天津集体建设用地出售 网站
  • 网页设计与网站建设 郑州大学怎么做有图有声的网站
  • 商务网站推广目标有哪些wordpress二次开发教程种子
  • 侯马做网站中企动力 网站报价
  • 个人购物网站怎么做酒泉市建设局网站招标办
  • 外接硬盘做创建立网站自适应企业网站用什么框架做
  • 如何做付款网站政务网站建设依据国家
  • 重庆市住房和城乡建设厅官方网站郑州网站建设tpywlkj
  • 中南建设网官方网站wordpress浮窗
  • 优质的网站建设公司正规网站建设建设公司
  • 网站动画是怎么做的秦皇岛最新消息今天
  • 网站建设模板哪里下载android开发软件有哪些
  • 湘潭网站建设开发网站建设成本核算
  • 在百度怎么做网站陕西网站建设制作
  • 网站开发流程怎么写平面设计公司工作室
  • 企业网站建设中在方案设计上安徽省建设厅官网查询
  • 怎样做影视网站不侵权wordpress菜单登录
  • 自助建站网站建设设计公司新版wordpress如何添加标签
  • 网页设计与网站建设作业怎么做网络营销概念是什么