<uses-permission android:name="android.permission.RECEIVE_SMS" />
<receiver android:name="com.example.smsmanager.SmsListener" > <intent-filter android:priority="100" > <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver>
import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.gsm.SmsMessage; import android.widget.Toast; public class SmsListener extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //获取意图里面存放的短信数组 System.out.println("-----------"); Object[] objs=(Object[]) intent.getExtras().get("pdus"); for (Object object : objs) { SmsMessage smsMessage=SmsMessage.createFromPdu((byte[])object); String body = smsMessage.getMessageBody(); String sender = smsMessage.getOriginatingAddress(); System.out.println("body:"+body); System.out.println("sender:"+sender); Toast.makeText(context, body+sender+"", 0).show(); // abortBroadcast(); } } }
低版本 进程都不需要操作 高版本上进程需要存在
-------------------------------
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<receiver android:name=".OutCallRecevier"> <intent-filter> <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> </intent-filter> </receiver>
public class OutCallRecevier extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if("10086".equals(getResultData())){ setResultData("1350000000"); } } }
--------------------------------------------
利用广播接收者 监听重启
package com.example.test; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class BootReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub System.out.println("手机重启完毕了"); Intent service=new Intent(context,PhoneLinstenService.class); context.startActivity(service); } }
<receiver android:name="com.example.test.BootReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"></action> </intent-filter> </receiver>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
外拨电话是广播接收者 接电话 是服务