Android拦截一个拨出去的电话

package cn.itcast.mobilesafe.receiver;

import cn.itcast.mobilesafe.ui.LostProtectedActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.sax.StartElementListener;

public class CallPhoneReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		
		String number = getResultData();
		if("20122012".equals(number)){
			Intent lostintent = new Intent(context,LostProtectedActivity.class);
			lostintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
			//指定要激活的activity在自己的任务栈里面运行 
			context.startActivity(lostintent);
			// 终止掉这个电话 
			// 不能通过  abortBroadcast();
			setResultData(null);
		}
	}
}


注意设置优先级 这样拨打20122012就直接跑应用去了

 
        <receiver android:name=".receiver.CallPhoneReceiver">
            <intent-filter android:priority="1000">
                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
            </intent-filter>
        </receiver>


posted @ 2012-12-06 22:08  sfshine  阅读(565)  评论(0编辑  收藏  举报