1.打電話:要注意兩個方面,一個是要在AndroidManifest中添加uses-permission,並聲明android:name="Android.permission.CALL_PHONE"。其次通過自定義Intent對象,帶入"ACTION_CALL"這個關鍵值,以及通過Uri.parse()的方法將用戶輸入的電話號碼帶入,最后以startActivity()方法將自定義的Intent傳入。如果想使用虛擬鍵盤來撥打電話,只需要在自定義Intent時將Action.CALL改為Action.DIAL即可。
Intent intent=new Intent("android.intent.action.CALL",Uri.parse("tel:"+telephoneId));//自定義的Intent
startActivity(intent);
我們在這里還可以檢查一下輸入電話號碼的格式是否正確:用Pattern和Matcher類:
Pattern pattern=Pattern.compile(expression);
Matcher matcher=pattern.matcher(telephoneId);
matcher.matchers()//判斷是否匹配
2.發短信:發送短信是GSM移動通信系統的服務中常用功能之一。發送短信的關鍵程序是通過SmsManager對象的sendTextmessage方法來完成,其中sendTextMessage()方法需要傳入五個值,依次是收件人地址String,發送地址String,正文String,發送服務PendingIntent與送達服務PendingIntent,並且注意收件人與正文是不可為NUll的兩個參數。
SmsManager smsmanager=SmsManager.getDefault();處理SMS短信相關的活動,例如發送數據、文字、與pduSMS信息,需要調用這一靜態的方法。
PendingIntent mpI=PendingIntent.getBroadcast(***.this,0,new Intent,0);構建PendingIntent對象。
smsManager.sendTextMessage(destaddress,null,message,mpI,null);//發送短信
注意的是要添加用戶發送短信的權限,android:name="android.permission.SEND_SMS"
3.發送Email—Intent在Email上的使用:構造一個自定義的Intent(Android.content.Intent.ACTION_SEND),作為傳送Email的Activity之用,在該Intent中,還必須使用settype()來決定email的格式,使用putExtra()來直入寄件人(EXTRA_EMAIL)、主題(EXTRA_SUBJECT)、郵件內容(EXTRA_TEXT)、以及其他Email的字段(EXTRA_CC,EXTRA_BCC)。
相關代碼如下:Intent emailIntent=new Intent(android.content.Intent.ACTION_SEND);//通過Intent來發送郵件
emailIntent.setType("plain/text");//設置郵件格式為plain/text
/*將收件人地址、附件、主旨、正文放入emailIntent中*/
emailIntent.putExtra(android..content.Intent.EXTRA_EMAIL,strEmailReciver);
emailIntent.putExtra(android..content.Intent.EXTRA_CC,stremailCc);
emailIntent.putExtra(android..content.Intent.EXTRA_SUBJECT,strEmailSubject);
emailIntent.putExtra(android..content.Intent.EXTRA_TEXT,strEmailBody);
/*打開Gmail並將相關參數傳入*/
/*Gmail程序是收發Email的程序,是Android手機內置的*/
startActivity(Intent.createChooser(emialIntent,getResources().getString(R.string.str_message)));
以上知識發送Email的一種,在android中還有許多發送Email的寫法。方法一:
Uri uri=Uri.parse(mailto:***@gmail.com);
Intent emailIntent=new Intent(Intent.ACTION_SENDTO,uri);
startActivity(emailIntent);
方法二: Intent emailIntent=new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL,"me@abc.com")
emailIntent.putExtra(Intent.EXTRA_CC,you@abc.com);
emialIntent.putExtra(Intent.EXTRA_TEXT,"the email body text");
emailIntent.putExtra(Intent.EXTRA_SUBJECT,"the email subject text");
emailIntent.setType("message/rfc822");
startActivity(Intent.createChooser(emailIntent,"your client"));
我們往往發郵件希望傳送附有文件的email.此時在自定義的Intent的setType事件上,以"plain/text"作為傳入的參數,就不可行了,代碼參考如下:
Intent intent=new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA-SUBJECT,"郵件標題");
intent.putExtra(Intent.EXTRA_STREAM,file:///sdcard/foo.mp3);
intent.setType("audio/mp3");
startActivity(Intent.createChooser(intent,"your client"));