当我们在拨打长途电话时,通常会加上17951等等,通过这样省电话费。
那么在Android中这个是如何实现的呢?
这个功能是通过广播接收者来实现的,通过拦截,拨打电话的界面可以实现对号码的修改。
具体代码:
权限:<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
意图过滤器的acion:android.intent.action.NEW_OUTGOING_CALL
public class PhoneNumReciver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("来电话啦");
System.out.println(getResultData());
String num=getResultData();
//这里可以先判断手机号是联通还是移动,是不是本机号码,是不是本地的号码,下面只提供啦加17951的方法
if(!num.startsWith("17951"))
{
num="17951"+num;
}
setResultData(num);
}
}