情境
想要自己寫一個簡單打電話系統, 其實非常簡單
Android內建一個讓使用者非常方便的打電話方法
其實只需要利用到Intent物件就可以建立一個非常容易上手的打電話系統
程式碼說明
public class MainActivity extends AppCompatActivity {
private final static String CALL = "android.intent.action.CALL";
private Button callBtn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
callBtn = (Button) findViewById(R.id.call);
callBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent call = new Intent(CALL, Uri.parse("tel:" + "0987654321"));
startActivity(call);
}
});
}
}
一開始只要傳入Intent.ACTION_CALL常數,
以及利用Uri方法傳入電話號碼。
補充一下:其實Intent還有許多系統常數可以使用,
http://developer.android.com/reference/android/content/Intent.html
這邊要注意一下就是傳入打電話的號碼前面一定要加上小寫的”tel:”,
然後接上你要打的電話號碼, 系統才會判斷你是要打電話。
由於這個是簡單示範如何呼叫打電話函式, 因此電話號碼沒有加以判斷,
你可以自己在寫上一些判斷的方法, 避免使用者輸入錯誤的電話號碼, 例如文字…等。
記得在AndroidManifest.xml裡面加上打電話的權限
<uses-permission android:name="android.permission.CALL_PHONE" />
雖然用模擬器, 系統會變成自己打給自己是有點矛盾,
但是原理讓你了解怎麼去呼叫打電話的方法才是重點。
按下Button就可以打電話給對方了