在你拨打的的号码前加上ip号,首先输入一个ip号,放在SharedPreferences里面,然后根据广播知道什么时候外播电话,将ip加到所播电话的前面。
写一个继承BroadcastReceiver的新类,并实现onReceive方法,在manifest中配置该类。
<!-- 定义了一个广播接收者,action就相当于一个特定的频道 -->
<receiver android:name=".OutCallReceiver">
<intent-filter >
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>
action中定义一个系统的操作,就像一个特定的频道,一旦有外播电话,就会触发有该配置的OutCallReceiver类,并自行调用该类中的onReceive方法。
public class OutCallReceiver extends BroadcastReceiver {
//播出的电话号加上前缀
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("接收到信息了");
String number = getResultData();
SharedPreferences sp = context.getSharedPreferences("config", context.MODE_PRIVATE);
String new_number = sp.getString("ipnumber", "")+number;
setResultData(new_number);
}
}