今天,我寫了一個通話應用,這是我的第二個手機應用,通話功能是通過intent實現的,intent是一個實現某種意圖的類,把通話看成一個意圖,通話是動作,聯繫人號碼是數據,傳入這兩個參數就可以讓intent開啓。實現通話功能。別忘了加上通話權限,不然會報錯的。在Manifest.xml文件中加入<uses-permission android:name="android.permission.CALL_PHONE"/>
public class MainActivity extends Activity { //讓界面上的號碼框成爲全局變量,便於獲取其中的內容 private EditText phoneNumEditText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //獲得界面上號碼框的引用 phoneNumEditText = (EditText) MainActivity.this.findViewById(R.id.et); //獲得界面上按鈕的引用,並添加事件監聽 Button button = (Button) this.findViewById(R.id.but_id); // button.setOnClickListener(new MyButtonClick()); button.setOnClickListener(new OnClickListener() { //匿名內部類實現方式 @Override public void onClick(View v) { //獲取文本框的內容 String number = phoneNumEditText.getText().toString(); //撥打電話 //Intent-->代表一個動作(意圖)-->動作(撥打電話)和數據(號碼) Intent intent = new Intent(); //設置動作 intent.setAction(Intent.ACTION_CALL); //設置數據("tel:"不能少,要不會出錯) intent.setData(Uri.parse("tel:"+number)); //把意圖激活,完成動作的執行(撥打電話) startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }