Android平台打電話、發短信、發Email


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"));


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM