广播接收者通过AndroidManifest.xml中<receiver>配置,过滤接收指定信息内容。如下:过滤接收短信息。
第一步:
在AndroidManifest.xml中
<application android:icon="@drawable/icon" android:label="@string/app_name">
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.RECEIVE_SMS"/><!-- 接收短信权限 -->
<uses-permission android:name="android.permission.SEND_SMS"/><!-- 发送短信权限 -->
</application>
第二步:
public class MyBroadcastReceiver extends BroadcastReceiver {
private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
@Override public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(SMS_RECEIVED)) {
SmsManager sms = SmsManager.getDefault();
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
for (SmsMessage message : messages){
String msg = message.getMessageBody();
String to = message.getOriginatingAddress();
sms.sendTextMessage(to, null, msg, null, null);
}}}}}
补充说明:除了短信到来广播Intent,Android还有很多广播Intent,如:开机启动、电池电量变化、时间已经改变等广播Intent。
接收电池电量变化广播Intent ,在AndroidManifest.xml文件中的<application>节点里订阅此Intent:
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED"/>
</intent-filter>
</receiver>
接收开机启动广播Intent,在AndroidManifest.xml文件中的<application>节点里订阅此Intent:
<receiver android:name=".IncomingSMSReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
并且要进行权限声明:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

更多相关文章

  1. Android存储权限
  2. Android常用代码之普通及系统权限静默安装APK
  3. 常用的android权限配置和常用工具代码
  4. Android 编写使用root权限的android应用程序
  5. android 短信验证自动获取验证码
  6. Android SdCard写入权限
  7. Android 允许权限

随机推荐

  1. 初识com.android.phone
  2. windows环境下 android 源码阅读
  3. Android app:开机自动启动app demo 源码
  4. android开发环境搭建之我见myeclipse8.5
  5. Android消息机制之四---Looper,Handler,Mes
  6. Appium服务器初始化参数(Capability)
  7. Intent打开系统设置界面(action列表)
  8. Android(安卓)DropBoxManager服务分析
  9. android 按home键返回到桌面后,再按桌面应
  10. Gradle build-info.xml not found for mo