文章出處

首先,新建一個類,繼承于BroadcastReceive,然后去配置Manifest.xml

1 <receiver android:name=".PhoneOnReceice">
2             <intent-filter>
3                 <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
4             </intent-filter>
5         </receiver>

然后加上android.permission.PROCESS_OUTGOING_CALLS權限(一定要記得加,不要加錯了)

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>

接下來寫業務邏輯就行了,那就簡單了

首先是MainActicity:

 1 public class MainActivity extends Activity implements View.OnClickListener {
 2 
 3     EditText et;
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6         super.onCreate(savedInstanceState);
 7         setContentView(R.layout.activity_main);
 8 
 9         Button btn = (Button)findViewById(R.id.btn);
10         et = (EditText) findViewById(R.id.et);
11         btn.setOnClickListener(this);
12     }
13 
14     @Override
15     public void onClick(View view) {
16         String str = et.getText().toString().trim();
17         SharedPreferences sp= getSharedPreferences("config",0);
18         sp.edit().putString("ipnumber",str).commit(); //一定記得提交
19         Toast.makeText(this,"ip設置成功",Toast.LENGTH_SHORT).show();
20     }
21 }

然后就是我們剛新建的那個類了

 1 public class PhoneOnReceice extends BroadcastReceiver {
 2     @Override
 3     public void onReceive(Context context, Intent intent) {
 4         SharedPreferences sp = context.getSharedPreferences("config",0);
 5         String ip = sp.getString("ipnumber","");
 6         String currentNumber = getResultData();//獲取當前要撥打的電話號碼
 7         System.out.println("廣播調用成功");
 8         if (currentNumber.startsWith("0")){
 9             System.out.print("進入if中");
10             setResultData(ip+currentNumber);
11         }
12     }
13 }

當Mainfest.xml中的action執行的時候,就會執行BroadcastReceiver子類PhoneOnReceive中的onReceice方法。

注意其中的getResultData():是用來得到當前輸入的手機號碼的


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()