android 48 广播】的更多相关文章

系统开始重启会发送开机重启广播,电量低的时候会发送电量低的广播,广播注册有2种:系统说明文件xml注册和Java代码注册,前者是静态注册(全局注册)后者是动态注册(依赖于当时组建,组件销毁就收不到广播了). Activity.java package com.sxt.day07_04; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; imp…
1.Android中广播主要分为两种:标准广播和有序广播. 标准广播:完全异步执行.广播发出后,所有的广播接收器几乎在同一刻收到广播事件,没有先后顺序之分. 优点:效率高 缺点:不能被截断 有序广播:同步执行.广播发出后,优先级较高的广播接收器先接收到广播,执行完该广播接收器的逻辑后广播才会继续传递,优先级较高的接收器可以对广播进行截断组织广播的传递. 2.注册广播的方法:一般有两种 1.动态注册:在代码中注册,必须启动程序才能接收广播 2.静态注册:在AndroidManifest.xml中注…
(以下内容是阅读郭霖大神的<第一行代码>后自己总结的) 1.概述 广播是Android的四大组件之一. Android的广播机制十分灵活. 2.发送广播 如上图Android的广播主要分为两类:标准广播和有序广播. 所有的广播接收器都可以接收到标准广播,而且他们的接收几乎是在同一时刻.这意味着标准广播的效率很高,但无法被截断. 在接收有序广播时,广播接收器是由先后顺序的,优先级高的接收器先接收到广播,并且有权对该广播截断,不让后续接收器接收到. 发送标准广播和有序广播的方式非常简单. //发送…
广播机制简介 Android的广播可以分为两种类型的,标准广播和有序的广播: 标准广播:  是一种完全异步执行的广播,在广播发出去之后,所有的广播接收器几乎是同一时接收到这条广播. 有序广播:  是一种完全同步执行的广播,在广播发出去之后,同一时刻只有一条消息能接收到这条广播.当这个广播接收器中的逻辑执行完毕之后,广播才会继续传递,所以这个时候的广播接收器是有先后顺序的,优先级高的广播接收器就可以先接收到广播消息,并且前面的广播接收器还可以截断正在传递的广播,这样的话后面广播接收器就不能接收到广…
广播接收者 在Android系统运行时会产生很多事件,事件产生时,回想系统发送广播,只要向系统发送广播,系统就知道发生了相应的事件,从而执行相对应的代码.在系统中只要使用广播接受者,就可以接收广播 创建广播接受者 1.定义Java类继承BroadcastReceiver 2.在清单文件爱中定义receiver节点,定义属性,指定广播接受者Java类的命名 3.在intent-filter的节点中,指定action子节点,action的值必须跟要接受的广播中的action匹配,比如,如果要接受打电…
Android系统网络连接状态的改变会发一个广播,注册一个广播接收者,实时动态的检测网络状态,及时提醒用户,优化用户体验.          本文仅提供WIFI 状态的检测作为参考,其他网络连接方式请对比WIFI连接作出调整.       首先写一个WifiStateBroadcast类继承BroadcastReceiver,重写onRecevie方法,获取网络连接状态管理器,通过管理器拿到对应的网络信息,得到网络状态,判断网络状态,作出相应的业务逻辑. public class WifiSta…
有些时候我们常常需要某个程序开机运行.在这个时候我们就需要监听系统的开机广播,然后启动我们的程序即可. 不多说 直接上代码: public class BootReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { LogUtil.i("BootReceiver", "BootReceiver is onReceive"…
广播接受者不仅可以通过清单文件来向系统注册,也可以通过代码来注册.并且有的广播必须通过代码来注册广播接受者. 锁屏和解锁广播 电量改变广播 打开屏幕和关闭屏幕 这里将广播接收者写在服务里面 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:o…
Android中的广播 系统在运行过程中会产生很多事件,某些事件产生的时候,比如:电量的改变,收发短信.拨打电话.屏幕解锁.开机等等,系统会发送广播.只要应用程序接受到这条广播就知道系统发生了相应的事件,从而执行相应的代码.只要在我们的应用中开启的广播接收器就能接收到系统的广播. ip拨号器 通过一个小案例还简述广播接收者的使用方式,功能就是在拨打电话时自动在号码前加特定的数字 布局文件 <?xml version="1.0" encoding="utf-8"…
静态注册 配置清单表注册:只要曾经注册过哪怕关闭也能调用  方式一:sendBroadCastReceive   广播的步骤:       发送  无序广播,普通广播       (1).发送方          Intent intent=new Intent();          intent.setAction("");发送的内容         sendBroadcast(intent);       (2).接受方       创建一个reserver类继承Broadcas…
1.创建布局文件activity_broadcast.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match…
需求:现在有应用A和应用B,我需要在A应用中启动B应用中的某个Activity 实现:A应用中的Activity发送广播,关键代码如下: String broadcastIntent = "com.example.android.notepad.NotesList";//自己自定义       Intent intent = new Intent(broadcastIntent);       this.sendBroadcast(intent); B应用中需要一个BroadcastR…
由于在(Widget或Service.BroadcastReceiver中)使用startActivity()方法启动activity时需使用FLAG_ACTIVITY_NEW_TASK flag,所以在BaseActivity中使用setresult标记退出时不能完全退出应用程序(只能关闭通过广播打开的activity以及之后打开的activity). 因此本文设计使用广播退出应用程序: 1.在退出事件中发送退出广播 Intent intent = new Intent(); intent.s…
特别需要注意的几点如下: 需要设置AlertDialog的类型 WindowManager.LayoutParams.TYPE_SYSTEM_ALERT 2. 需要声明Window弹框的权限 <user-permission android:name="android.premission.SYSTEM_ALERT_WINDOW" /> 3. 在点击AlertDialog的按钮时,如果利用Intent进行页面跳转,需要给Intent加入FLAG_ACTIVITY_NEW_T…
main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id…
最近在公司处理项目时,用到锁屏状态弹出activity进行提示,类似QQ消息弹屏提示的功能.当中用到了,假如该弹出activity已经位于锁屏界面外时,将不进行再次弹窗,而是发送广播进行通知数据更新,但是在广播接收器里面的某个步骤进行了再次发送通知的操作,发现该广播接收器变成了一个死循环的执行.经过仔细检查,发现没有任何一处用错action.  最终将该广播接收器里面的发送广播语句注释,死循环不在.代码如下: 注:里面的所有action都经过仔细检查,使用均正确,没任何错误,或者引用错误. pa…
MainActivity如下: package cn.testappaddandremove; import android.os.Bundle; import android.app.Activity; import android.content.IntentFilter; /** * Demo描述: * 利用广播监听设备安装和卸载应用程序 * * 参考资料: * http://blog.csdn.net/wangjinyu501/article/details/9664315 * Than…
@@@描述         广播接收器可以收到 Context.sendBroadcast或者Context.sendOrderedBroadcast发出的意图(intent).   @@@LocalBroadcastManager         如果你不需要夸应用发送广播,建议你使用 LocalBroadcastManager, LocalBroadcastManager 是一个帮助类,帮助你方便的在当前应用中注册广播接收  器和发送广播.并且和发送全局广播比起来,他还有如下优势: 1,不用…
之前的项目里要做一个异步更新UI的功能,可是结果出现了ANR,所以想写个demo来測试究竟是哪个地方出现了问题,结果发现原来的思路是没有问题,郁闷~~ 如今这个demo 就是模拟项目里面 的步骤 1.接收到系统的广播(如今模拟为人工发送) 2.广播接收到后,handler通知异步线程从网上下载数据,是异步(模拟为sleep) 3.数据下载完后handler再通知UI更新 以下是基本的两个代码,可以正确执行 package com.example.testanr; import android.s…
广播有两种方式,一种静态广播,一种动态广播. 静态广播-->静态广播接收器在配置文件里面注册. 动态广播-->而动态广播接收器在代码里面注册. 广播的发送: Context.sendBroadCast(); Context.sendOrderedBroadCast(); Context.sendStickyBrodcast(); 一个广播可以本多个广播接受者所接收. 广播接收者只能接受广播,并对广播通知进行反应. 广播接收者没有用户界面:但是可以接收并启动一个Activity. 广播中不能进行…
广播消息机制用于进行系统级别的消息通知,每个应用程序可以对感兴趣的广播进行注册,并且将接收广播的方法定义在广播接收器中(Broadcast). 广播可以分为标准广播和有序广播. 注册广播的方法可以动态注册(在代码中进行注册)和静态注册(在清单文件中注册) 我们也可以发布自己定义的广播,并接收. 1.动态注册 动态注册的过程: 1)先自己定义一个广播接收者,继承Broadcast.重写onReceive()方法. 2)创建IntentFilter类,并添加要收听的广播. 3)创建自定义的广播接收者…
target-261.卸载和清除收据(这两个在例外广播列表中) 可以收到广播2.应用商店升级app 收不到android.intent.action.PACKAGE_REPLACED广播,应用自身可以收到android.intent.action.MY_PACKAGE_REPLACED3.应用被冻结(可使用icebox)时触发android.intent.action.PACKAGE_CHANGED广播 可以收到 4.通过adb 发送的android.provision.action.PROVI…
1. 接收系统的广播步骤 (1)  新建一个类继承BroadcastReceiver 以监听sd卡状态的广播接收者为例 public class SdCardBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if("android.intent.acti…
一.知识准备 ①常驻广播接受者:使用AndroidManifest.xml注册,接受者不随Activity的销毁而销毁,也就是拥有独立的生命周期. ②非常驻广播接受者:使用registerReceiver(receiver,intentfilter)对广播接收者进行注册.同事需要使用unregisterReceiver(receiver)注销这个广播接收者.注册时表示创建广播接收者,注销时表示销毁这个广播接收者.生命周期由开发者决定.通常在activity的onCreate方法中创建广播接收者,…
上一节的短信拦截在4.0以上系统中无效,可以使用这种办法实现,定义一个activity,清单文件中指定主题为透明,在onCreate()方法里面直接调用finsh()方法,关掉,这样可以就可以实现了 应用场景:比如车载电脑,里面有很多应用,有些应用需要发射信号给某一个广播接收者 新建一个广播接收者,清单文件中进行配置,监听的动作<action name=”com.tsh.aabb”/>,这个动作名称就是我们自定义广播要发射的动作 新建一个应用,来发射信号 获取Intent对象,通过new出来…
广播接收者,broadcast receiver,安卓系统在使用时会产生很多的事件,比如:短信到来,电量低,拨打电话等等 界面布局,线性布局,EditText指定为电话号码,设置属性android:inputType=”phone” 获取SharedPreference对象,调用getSharedPreference(“config”,MODE_PRIVATE)方法 获取Editor对象,调用sp对象的edit()方法 调用Editor对象的putString(key,value)方法,存入数据…
package com.app.sms_broadcastreceiver; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android…
Android中使用的广播一般是系统全局广播,即发出的广播可以被其他任何应用程序接收到,并且我们也可以接收来自于其他任何应用程序的广播.这样就很容易会引起安全性的问题,比如说我们发送的一些携带关键性数据的广播有可能被其他的应用程序截获,或者其他的程序不停地向我们的广播接收器里发送各种垃圾广播. 为了能够简单地解决广播的安全性问题,Android 引入了一套本地广播机制,使用这个机制发出的广播只能够在应用程序的内部进行传递,并且广播接收器也只能接收来自本应用 程序发出的广播,这样所有的安全性问题就…