常用广播接收者

1. 开机

<receiver android:name="com.gaoyuan.mysafe.receiver.BootCompleteReceiver">

    <intent-filter>

<action android:name="android.intent.action.BOOT_COMPLETED"/>

</intent-filter>

</receiver>

如果想在receiver中启动一个activity,
要给intent加一个flag

public class StartupReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

Intent startupintent = new Intent(context,StrongTracks.class);

startupintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

context.startActivity(startupintent);

}

}

权限: <uses-permission
android:name="android.permission.RECEIVE_BOOT_COMPLETED"
/>

2. 接收短信

<receiver android:name="com.gaoyuan.mysafe.receiver.SmsReceiver">

    <intent-filter android:priority="1000">

<action android:name="android.provider.Telephony.SMS_RECEIVED"/>

</intent-filter>

</receiver>

这个action在4.1以上的adt里是提示不出来的.

在onReceive方法中获取短信, 经典的代码, 必须记住

Object[] objs = (Object[]) intent.getExtras().get("pdus");

for (Object obj : objs) {

SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) obj);

// 得到发送者号码, 应该先判断一下是否是安全号码发过来的, 这里就不判断了

String sender = smsMessage.getOriginatingAddress();

// 获取短信内容

String body = smsMessage.getMessageBody();

// 处理短信...

// 如果有必要的话, 中断广播

abortBroadcast();

}

权限:

<uses-permission
android:name="android.permission.RECEIVE_SMS"/>

3. 外拨电话

4. 锁屏

5. 解屏

6. 电量改变

来自为知笔记(Wiz)

时间: 2024-10-10 10:08:39

常用广播接收者的相关文章

BroadcastReceiver广播接收者(六)——粘性广播(StickyBroadcast)使用示例

MainActivity如下: package cc.com; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.content.Intent; /** * Demo描述: * 粘性广播(StickyBroadcast)使用示例 * 粘性广播也叫等待广播. * * 使用场景: * 发送一个粘性广播(StickyBroadcast),但是现在并没

特殊广播接收者

比如操作特别频繁的广播事件 屏幕的锁屏和解锁 电池电量的变化 这样的广播接收者在清单文件里面注册无效 import android.os.Bundle; import android.app.Activity; import android.content.IntentFilter; import android.view.Menu; public class MainActivity extends Activity { private ScreenReceiver screenReceive

广播接收者案例_ip拨号器

(1)定义一个类继承BroadCastReceiver public class OutGoingCallReceiver extends BroadcastReceiver { //当接收到外拨电话的事件的时候回执行这个方法 @Override public void onReceive(Context context, Intent intent) { //[0]获取到我们保存的ip号码 SharedPreferences sp = context.getSharedPreferences(

手机卫士03_手势动作_广播接收者应用

//在控件上面按ctrl+1 可以抽取样式 1,设置向导界面的细节问题 1.1设置向导界面的跳转的时候要记得finsh(),把当前界面从任务栈中移除. 在设置向导界面的任何一个界面返回都应该返回home界面 1.2 Activity界面切换的动画 目标:本界面向左移出了屏幕,下一个界面从右边移出来(类似翻页效果) ovreridePendingTransition(进入动画文件资源id,退出动画文件资源id); //这个方法在startActivity,或finsh()后调用,可以更改动画变化的

[android] 代码注册广播接收者&amp;利用广播调用服务的方法

利用广播调用服务里面的方法,间接的方式调用服务内部的方法,与现实中差不多,请媒体曝光 主界面里面 在界面创建的时候开启一下服务普通的startService()方法 发送一条广播出去 获取Intent对象,通过new出来 调用Intent对象的setAction()方法,参数:一般就是包名 调用sendBroadcast(intebt)方法,发送广播,参数:Intent对象 服务里面 新建一个MyService类继承系统的Service类 添加一个自定义的服务的方法callServiceMeth

BroadcastReceiver广播接收者(四)——本地广播LocalBroadcastManager以及在onReceive()中弹出Dialog

MainActivity如下: package cc.cv; import android.os.Bundle; import android.support.v4.content.LocalBroadcastManager; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.app.Activity; import an

BroadcastReceiver广播接收者(二)——利用AndroidManifest.xml注册广播接收者

MainActivity如下: package cc.testbroadcasta; import android.os.Bundle; import android.app.Activity; import android.content.Intent; /** * Demo描述: * 利用AndroidManifest.xml注册广播接收者 */ public class MainActivity extends Activity { @Override protected void onC

Android 广播接收者

安卓实现广播有两种方式 方式1:动态注册 方式2:配置文件注册 下面我们来实现方式1,动态注册 首先我们来定义一个接收者,继承BroadcastReceiver ,并且重写onReceive方法,当指定的广播发出,系统自动调用onReceive方法. public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //得到广播

广播接收者

一.广播发送者&广播接收者介绍 1.广播接收者 广播接收者简单地说就是接收广播意图的Java类,此Java类继承BroadcastReceiver类,重写: public void onReceive(Context context,Intent intent),其中intent可以获得传递的数据: 广播意图就是通过Context.sendBroadcast(Intent intent)或Context.sendOrderedBroadcast(Intent intent)发送的意图,通过这个语