安卓开发(广播的各种应用)

著论准过秦,作赋拟子虚。这篇文章主要讲述安卓开发:广播的各种应用相关的知识,希望能为你提供帮助。
sd卡监听器:

package org.dreamtech.sdstate; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class SdcardStateReceiver extends BroadcastReceiver {@Override public void onReceive(Context context, Intent intent) { // 获取事件类型 String action = intent.getAction(); if ("android.intent.action.MEDIA_MOUNTED".equals(action)) { // sd卡挂载 } else if ("android.intent.action.MEDIA_UNMOUNTED".equals(action)) { // sd卡卸载 } }}

 
配置receiver
< receiver android:name="org.dreamtech.sdstate.SdcardStateReceiver"> < intent-filter > < action android:name="android.intent.action.MEDIA_MOUNTED"/> < action android:name="android.intent.action."/> < !--约束类型叫file 因为sd里面存的数据类型是file--> < data android:scheme="file"/> < /intent-filter> < /receiver>

 
 
 
短信监听器:
package org.dreamtech.smslistener; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.SmsMessage; public class SmsListenerReceiver extends BroadcastReceiver {@Override public void onReceive(Context context, Intent intent) { Object[] objects = (Object[]) intent.getExtras().get("pdus"); for (Object object : objects) { SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) object); String messageBody = smsMessage.getMessageBody(); String address = smsMessage.getOriginatingAddress(); System.out.println("短信内容:" + messageBody + "####" + "来自" + address); } } }

 
 
注意配置和权限:
< ?xml version="1.0" encoding="utf-8"?> < manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.dreamtech.smslistener" android:versionCode="1" android:versionName="1.0" > < uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> < uses-permission android:name="android.permission.RECEIVE_SMS"/> < application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > < activity android:name="org.dreamtech.smslistener.MainActivity" android:label="@string/app_name" > < intent-filter> < action android:name="android.intent.action.MAIN" /> < category android:name="android.intent.category.LAUNCHER" /> < /intent-filter> < /activity> < receiver android:name="org.dreamtech.smslistener.SmsListenerReceiver"> < intent-filter > < action android:name="android.provider.Telephony.SMS_RECEIVED"/> < /intent-filter> < /receiver> < /application> < /manifest>

 
卸载安装监听器:
package org.dreamtech.appstate; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class AppStateReceiver extends BroadcastReceiver {@Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if ("android.intent.action.PACKAGE_INSTALL".equals(action)) { // 应用安装(虽然存在,但是实际并不调用) } else if ("android.intent.action.PACKAGE_ADDED".equals(action)) { // 应用安装 } else if ("android.intent.action.PACKAGE_REMOVED".equals(action)) { // 应用卸载 } }}

 
 
配置:
< ?xml version="1.0" encoding="utf-8"?> < manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.dreamtech.appstate" android:versionCode="1" android:versionName="1.0" > < uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> < application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > < activity android:name="org.dreamtech.appstate.MainActivity" android:label="@string/app_name" > < intent-filter> < action android:name="android.intent.action.MAIN" /> < category android:name="android.intent.category.LAUNCHER" /> < /intent-filter> < /activity> < receiver android:name="org.dreamtech.appstate.AppStateReceiver" > < intent-filter> < action android:name="android.intent.action.PACKAGE_INSTALL" /> < action android:name="android.intent.action.PACKAGE_ADDED" /> < action android:name="android.intent.action.PACKAGE_REMOVED" /> < !-- 注意配置约束 --> < data android:scheme="package" /> < /intent-filter> < /receiver> < /application> < /manifest>

【安卓开发(广播的各种应用)】 

    推荐阅读