Android利用廣播進行IP撥號

我叫阿狸貓發表於2014-02-11

每次撥打電話前自動加17951進行IP撥號

接收電話撥號廣播的接收者

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class IPCallReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		String phoneNum = getResultData();//獲取被呼叫的號碼
		//如果剛才已經撥打過17951開頭的號碼,再次撥打的時候就不需要加17951了 
		if(!phoneNum.startsWith("17951")){//最好再加上歸屬地判斷
			setResultData("17951"+phoneNum);//設定被呼叫的號碼
		}
	}
}


清單檔案

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.xxc.ipcall"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />
    <!-- 配置    處理電話撥出許可權 -->
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        
        <receiver android:name=".IPCallReceiver">
            <intent-filter android:priority="1">
                <!-- 對電話外撥動作的廣播進行接收 -->
                <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
            </intent-filter>
        </receiver>
    </application>

</manifest>


相關文章