文章出處
文章列表
首先,新建一個類,繼承于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():是用來得到當前輸入的手機號碼的
文章列表
全站熱搜