android 撥打到電話與傳送簡訊

來源:互聯網
上載者:User

       通過調用android系統提供的電話與簡訊功能,可以簡單的實現傳送簡訊,撥打到電話,但是必須在AndroidManifest.xml裡面配置相應許可權,定位到

1 <application 
2
3 /application>

標籤外面一層,撥打到電話的許可權為android.permission.CALL_PHONE,傳送簡訊的許可權為android.permission.SEND_SMS.

而內部代碼主要是寫按鈕的單擊事件就可以了,覆寫 onClick()事件

傳送簡訊:

 1     @Override
2 public void onClick(View v)
3 {
4 // 管理簡訊的操作類,例如發送資料,文本,通過調用getDefault()方法獲得對象;
5 SmsManager smsManager = SmsManager.getDefault();
6 // 如果簡訊內容多長,將自動分割為多條資訊,存放在ArrayList裡面;
7 ArrayList<String> textsArrayList = smsManager.divideMessage(conEditText.getText()
8 .toString());
9 // 利用for迴圈將簡訊發送出去;
10 for (String text : textsArrayList)
11 {
12 // 實現發送文本簡訊的函數是smsManager的sendTextMessage()方法
13 smsManager.sendTextMessage(phoneEditText.getText().toString(), null, text, null, null);
14 }
15 // 這句話適用於提示使用者簡訊已發送成功的
16 // Toast.makeText(MySMSActivity.this, R.string.success,
17 // Toast.LENGTH_LONG).show();
18 }

撥打到電話:

1     @Override
2 public void onClick(View v)
3 {
4 String phonenum = phoneEditText.getText().toString();
5 // 使用Intent
6 Intent intent = new Intent("android.intent.action.CALL", Uri.parse("tel:" + phonenum));
7 // 開啟廣播意圖
8 startActivity(intent);
9 }
打電話和發簡訊都是調用Android系統服務,但是在實現的代碼上是不同。在調用smsManager.divideMessage()時發現傳送簡訊的函數還有兩個,查看協助文檔知道分別是sendDataMessage 和sendMultipartTextMessage,他們的聲明和作用如下:
public void sendDataMessage (String destinationAddress, String scAddress, short destinationPort, byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent)

基於簡訊發送一個資料到一個特定的應用程式連接埠(Send a data based SMS to a specific application port.)

public void sendMultipartTextMessage (String destinationAddress, String scAddress, ArrayList<String> parts, ArrayList<PendingIntent> sentIntents, ArrayList<PendingIntent> deliveryIntents)

基於簡訊發送多個文本。事先已將簡訊內容分割為多個部分(Send a multi-part text based SMS. The callee should have already divided the message into correctly sized parts by calling divideMessage.)

具體怎麼用的還沒研究。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.