android广播

Android开发指南-窗口小部件(App Widgets)

拜拜、爱过 提交于 2019-12-03 01:25:31
http://blog.csdn.net/iefreer/article/details/4626274# 应用程序窗口小部件 App Widgets 应用程序窗口小部件( Widget )是微小的应用程序视图,可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。你可以通过一个 App Widget provider 来发布一个 Widget 。可以容纳其它 App Widget 的应用程序组件被称为 App Widget 宿主。下面的截屏显示了一个音乐 App Widget 。 这篇文章描述了如何使用 App Widget Provider 发布一个 App Widget 。 基础知识 The Basics 为了创建一个 App Widget ,你需要下面这些: AppWidgetProviderInfo 对象 描述一个 App Widget 元数据,比如 App Widget 的布局,更新频率,以及 AppWidgetProvider 类。这应该在 XML 里定义。 AppWidgetProvider 类的实现 定义基本方法以允许你编程来和 App Widget 连接,这基于广播事件。通过它,当这个 App Widget 被更新,启用,禁用和删除的时候,你都将接收到广播通知。 视图布局 为这个 App Widget 定义初始布局,在 XML 中。 另外,你可以实现一个

有序广播

匿名 (未验证) 提交于 2019-12-03 00:30:01
MianActivity public class MainActivity extends AppCompatActivity { public static final String ACTION = "ordered_broadcast_action" ; @Override protected void onCreate (Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); } // 发送广播 public void sendBroadcast (View view) { Intent intent = new Intent(ACTION); intent.putExtra( "msg" , "广播内容" ); // 发送有序广播 sendOrderedBroadcast(intent, null ); } } FirstReceiver(接收器代表) public class FirstReceiver extends BroadcastReceiver { @Override public void onReceive (Context context, Intent intent) { String msg =

Android广播接收者使用总结

匿名 (未验证) 提交于 2019-12-03 00:26:01
Ŀ¼ Ŀ¼ 但是只有广播接收者可以使用java代码的方法来动态注册 。 BroadcastReceiver是用于接收广播的组件用于组件与组件之间进行通信,可以跨应用程序传递. 如操作系统电池电量低会发送一个广播,这样我们的程序里面可以去监听这个广播,可以关 闭程序里面比较耗电的功能,提示用户注意保存进度什么的,还如其它安装新应用等,还有普通应 用程序,例如启动特定线程,文件下载完毕等。 广播的发送的一般应用场合:发送频率低的情况可以使用,数据量小的情况可以使用。 在onReceive方法内,我们可以获取随广播而来的Intent中的数据,这非常重要,就像无线电一样,包含很多有用的信息。 在创建完我们的BroadcastReceiver之后,还不能够使它进入工作状态,我们需要为它注册一个指定的 广播地址 。没有注册广播地址的BroadcastReceiver就像一个缺少选台按钮的收音机,虽然功能俱备,但也无法收到电台的信号。所以创建类后就要对BroadcastReceiver进行注册。 public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive (Context context, Intent intent) { //对接收到的广播进行处理

Android学习之广播(BoardCast)

匿名 (未验证) 提交于 2019-12-02 22:56:40
广播不允许开启 线程 STEP1:创建接收端广播 ... IntentFilter filter = new IntentFilter(); filter.addAction( "Broadcast.MqttServiceSend" );//说明监听什么样的广播 registerReceiver(MainActivityReceiver, filter);//注册广播同时传入接收函数 ... /*该类的广播接收程序*/ private BroadcastReceiver MainActivityReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //收到广播后执行的动作 } }; STEP2:创建发送端广播 Intent intent = new Intent(); intent.setAction( "Broadcast.MqttServiceSend" ); //这两句可以合体为Intent intent = new Intent("Broadcast.MqttServiceSend"); intent.putExtra( "MqttServiceSend" ,arg0+ ";;" +arg1.toString()); /

BroadCastReceiver

╄→尐↘猪︶ㄣ 提交于 2019-12-02 22:00:57
BroadcastReceiver   在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件。 下面将详细的阐述如何发送Broadcast和使用BroadcastReceiver过滤接收的过程:   首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action、Category)装入一个Intent对象,然后通过调用 sendOrderBroadcast()或sendStickyBroadcast()方法,把 Intent对象以广播方式发送出去。   当Intent发送以后,所有已经注册的BroadcastReceiver会检查注册时的IntentFilter是否与发送的Intent相匹配,若匹配则就会调用BroadcastReceiver的onReceive()方法。所以当我们定义一个BroadcastReceiver的时候,都需要实现onReceive()方法。   注册BroadcastReceiver有两种方式:   静态注册:在AndroidManifest.xml中用标签生命注册,并在标签内用标签设置过滤器。   <receiver android:name="myRecevice"> //继承BroadcastReceiver

基础总结篇之五:BroadcastReceiver应用详解(一)

杀马特。学长 韩版系。学妹 提交于 2019-12-02 22:00:29
今天我们来讲一下Android中BroadcastReceiver的相关知识。 BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。 在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作;当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时保存进度,等等。 Android中的广播机制设计的非常出色,很多事情原本需要开发者亲自操作的,现在只需等待广播告知自己就可以了,大大减少了开发的工作量和开发周期。而作为应用开发者,就需要数练掌握Android系统提供的一个开发利器,那就是BroadcastReceiver。下面我们就对BroadcastReceiver逐一地分析和演练,了解和掌握它的各种功能和用法。 首先,我们来演示一下创建一个BroadcastReceiver,并让这个BroadcastReceiver能够根据我们的需要来运行。 要创建自己的BroadcastReceiver对象,我们需要继承android.content.BroadcastReceiver,并实现其onReceive方法。下面我们就创建一个名为MyReceiver广播接收者:

Android 广播

泄露秘密 提交于 2019-12-02 17:14:44
DialRecordReceiver.java public class DialRecordReceiver extends LocalBroadcastReceiver { public DialRecordReceiver(Context context) { super(context); } @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); String jsonString = intent.getStringExtra("json"); if (action.equals(LocalAction.DIAL_RECORD_ACTION_BE_INVITED)) { Log.d("panzq", "【====jsonString = 】" + jsonString); } } } LocalBroadcastReceiver.java public abstract class LocalBroadcastReceiver extends BroadcastReceiver { private final Context context; public LocalBroadcastReceiver(Context

Android广播机制

邮差的信 提交于 2019-12-02 12:10:19
一、简介 Android中的每个app都可以对自己感兴趣的广播进行注册,这样程序就只会接收到自己关心的广播内容,这些广播可能是来自系统的,也可能来自其他应用程序。发送广播要用到 Intent ,接收广播要用到 BroadcastReceiver 二、Android中广播的类型 1、标准广播 标准广播是一种 异步执行 的广播,在广播发出之后, 所有BroadcastReceiver几乎会在同一时刻接收到这条广播消息 ,因此它们之间没有先后顺序可言。 优点:效率高 缺点:无法截断 2、有序广播 有序广播是一种 同步执行 的广播,在广播发出之后, 同一时刻只会有一个BroadcastReceiver接收到这条消息 ,当这个BroadcastReceiver执行完毕之后,广播才会继续传递。 因此这种方式下,BroadcastReceiver是有先后顺序的,优先级高的BroadcastReceiver就能先收到广播消息,并且前面的BroadcastReceiver还可以截断广播,让后面的接收器无法收到。 三、如何接收广播 Android中有很多系统级别的广播,比如手机开机之后发出一条广播、电池电量变化会发出一条广播,我们可以在app中通过监听这些广播来得到系统的状态信息,要想接收这些广播,就得使用 广播接收器 。 广播接收器可以自由的对自己感兴趣的广播进行注册,当有相应的广播发出时

Android 退出Activity的方法

烈酒焚心 提交于 2019-12-01 20:48:07
对于单一Activity的应用来说,退出很简单,直接finish()即可。当然,也可以用killProcess()和System.exit()这样的方法。现提供几个方法,供参考: 1、抛异常强制退出: 该方法通过抛异常,使程序Force Close。 验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出Force Close的窗口。 2、记录打开的Activity: 每打开一个Activity,就记录下来。在需要退出时,关闭每一个Activity即可。 3、发送特定广播: 在需要结束应用时,发送一个特定的广播,每个Activity收到广播后,关闭即可。 4、递归退出 在打开新的Activity时使用startActivityForResult,然后自己加标志,在onActivityResult中处理,递归关闭。 除了第一个,都是想办法把每一个Activity都结束掉,间接达到目的。但是这样做同样不完美。 你会发现,如果自己的应用程序对每一个Activity都设置了nosensor,在两个Activity结束的间隙,sensor可能有效了。 但至少,我们的目的达到了,而且没有影响用户使用。 例如: 1、创建一个Activity的基类,重写startActivity()方法,在里面添加一句finish()。其他的Activity继承这个基类

关于android实现聊天: Service +BroadcastReceiver

╄→гoц情女王★ 提交于 2019-12-01 16:45:41
平 常经常有一些Android爱好者问我Android服务有什么用,跟线程不是差不多吗,还有Service是继承Context 是不是跟Activity有相同的特性。还有经常在CSDN上也遇上好多朋友问到这样的问题,看到他们的问题后,我思考了好久,总结出一个问题是他们把 Service与Activity和Thread之间的区别与联系弄混了,其实他们之间是有异同的。接下来我从不同的角度来分析一下他们之间的异同: 1. 1.Thread在run执行完后线程自动消失,而Service用户不调用stopService()服务就不会停止。 2. Activity与Service 都继承至Context,他们具有Context共同的特性,比如启动服务、注册广播等。 3. 可以同时创建多个Thread和Activity,而Service只能创建一个进程空间。 4. Service可以开机自动启动,而其它任何进程不能实现开机自动启动。 5. Thread可以处理耗时操作,而Activity与Service不能实现耗时操作。 以上是他们所存在的异同,从以上异同我为大家总结一下Service所使用的场景: 1. .打电话、接电话功能:一个电话只有一个电话管理的服务,它不可能有两个服务来管理这个电话的接听与拔出,这样的情况下可 以使用服务,并且该服务需要在手机开机后会立即启动,这样的功能只有服务才能做到