日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Android SMS短信服務相關概念簡述

經(jīng)常關注我們技術文章的朋友們應該會記得我們?yōu)榇蠹医榻B的一篇關于Android短信發(fā)送功能實現(xiàn)的文章。大家可以通過它具體了解其中短信功能的應用。那么今天,大家可以從這里學到的有關Android SMS短信服務的一些基本知識。#t#

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網(wǎng)站、網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的臨江網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

許多新的應用程序會考慮使用SMS作為數(shù)據(jù)分發(fā)平臺?,F(xiàn)實一點的場景:電影點播系統(tǒng)要求用戶發(fā)送一定格式的短信來進行自動點播?,F(xiàn)在越來越多的應用采用SMS作為與用戶進行數(shù)據(jù)交換的方式。現(xiàn)在讓我們來看一下我們?nèi)绾卧贏ndroid平臺上來構造這種形式的應用。

Android API支持開發(fā)可以發(fā)送和接收SMS消息的應用程序。目前我們開發(fā)過程中使用的Android模擬器還不支持發(fā)送SMS,但它可以接收SMS?,F(xiàn)在我們來探索一下Android對SMS的支持,我們將會構建一個小小的應用程序來監(jiān)聽移動設備(或模擬器)上接收到的SMS消息,并將它顯示出來。

我們來定義一個Intent接收器來處理Android SMS短信服務接收事件:

 
 
 
  1. package com.wissen.sms.receiver;   
  2. /**   
  3. * 該類將在SMS接收的時候被調(diào)用   
  4. */   
  5. public class SMSReceiver extends BroadcastReceiver {   
  6. @Override   
  7. public void onReceive(Context context, Intent intent) {   
  8. // TODO   
  9. }   
  10. }   
  11. package com.wissen.sms.receiver;  
  12. /**  
  13. * 該類將在SMS接收的時候被調(diào)用  
  14. */  
  15. public class SMSReceiver extends BroadcastReceiver {  
  16. @Override  
  17. public void onReceive(Context context, Intent intent) {  
  18. // TODO  
  19. }  

我們需要對這個Intent接收器進行配置以使它能獲取Android SMS短信服務接收事件,‘ android.provider.Telephony.SMS_RECEIVED’這個事件狀態(tài)表示了SMS已被接收。我們可以在AndroidManifest.xml中進行如下配置:

 
 
 
  1. < receiver android:name=”.receiver.SMSReceiver” 
    android:enabled=”true”>   
  2. < intent-filter>   
  3. < action android:name=”android.provider.Telephony.
    SMS_RECEIVED” /> 
  4. < /intent-filter>   
  5. < /receiver>   
  6. < receiver android:name=”.receiver.SMSReceiver” 
    android:enabled=”true”> 
  7. < intent-filter> 
  8. < action android:name=”android.provider.Telephony.
    SMS_RECEIVED” /> 
  9. < /intent-filter> 
  10. < /receiver> 

為了能讓我們的應用能接收Android SMS短信服務,我們得先進行權限的指定,可以在AndroidManifest.xml中如下配置:

 
 
 
  1. < uses-permission android:name=”android.
    permission.RECEIVE_SMS”> 
  2. < /uses-permission>   
  3. < uses-permission android:name=”android.
    permission.RECEIVE_SMS”> 
  4. < /uses-permission> 

現(xiàn)在,我們的Intent接收器就可以在Android設備接收到SMS的時候被調(diào)用了,余下的事情就是去獲取和顯示接收到的SMS消息文本了:

 
 
 
  1. public void onReceive(Context context, Intent intent) {   
  2. Bundle bundle = intent.getExtras();   
  3. Object messages[] = (Object[]) bundle.get(”pdus”);   
  4. SmsMessage smsMessage[] = new SmsMessage[messages.length];   
  5. for (int n = 0; n < messages.length; n++) {   
  6. smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);   
  7. }   
  8. // show first message   
  9. Toast toast = Toast.makeText(context, “Received SMS: ” + 
    smsMessage[0].getMessageBody(), Toast.LENGTH_LONG);   
  10. toast.show();   
  11. }   
  12. public void onReceive(Context context, Intent intent) {  
  13. Bundle bundle = intent.getExtras();  
  14. Object messages[] = (Object[]) bundle.get(”pdus”);  
  15. SmsMessage smsMessage[] = new SmsMessage[messages.length];  
  16. for (int n = 0; n < messages.length; n++) {  
  17. smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);  
  18. }  
  19. // show first message  
  20. Toast toast = Toast.makeText(context, “Received SMS: ” + 
    smsMessage[0].getMessageBody(), Toast.LENGTH_LONG);  
  21. toast.show();  

Android設備接收到的SMS是以pdu形式的(protocol description unit)。android.telephony.gsm.SmsMessage這個類可以儲存SMS的相關信息,我們也可以從接收到的pdu中創(chuàng)建新的SmsMessage實例,Toast界面組件可以以系統(tǒng)通知的形式來顯示接收到的SMS消息文本。

現(xiàn)在讓我們來在模擬器中運行這個應用程序,以及發(fā)送Android SMS短信服務消息到這個模擬器上。我們可以在eclipse的Android插件所提供的DDMS視圖(Dalvik Debug Monitor Service)中發(fā)送SMS消息到模擬器上(在’Emulator Control’面板中;另外需要指定電話電話號碼,不過可以是任意的)


當前文章:Android SMS短信服務相關概念簡述
文章分享:http://www.dlmjj.cn/article/dhjdiih.html