本篇文章給大家分享的是有關(guān)Android 中怎么實(shí)現(xiàn)SMS短信服務(wù),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
我們提供的服務(wù)有:做網(wǎng)站、成都做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、卓資ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的卓資網(wǎng)站制作公司
Android API支持開發(fā)可以發(fā)送和接收SMS消息的應(yīng)用程序。目前我們開發(fā)過(guò)程中使用的Android模擬器還不支持發(fā)送SMS,但它可以接收SMS?,F(xiàn)在我們來(lái)探索一下Android對(duì)SMS的支持,我們將會(huì)構(gòu)建一個(gè)小小的應(yīng)用程序來(lái)監(jiān)聽移動(dòng)設(shè)備(或模擬器)上接收到的SMS消息,并將它顯示出來(lái)。
我們來(lái)定義一個(gè)Intent接收器來(lái)處理Android SMS短信服務(wù)接收事件:
package com.wissen.sms.receiver; /** * 該類將在SMS接收的時(shí)候被調(diào)用 */ public class SMSReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO } } package com.wissen.sms.receiver; /** * 該類將在SMS接收的時(shí)候被調(diào)用 */ public class SMSReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO } }
我們需要對(duì)這個(gè)Intent接收器進(jìn)行配置以使它能獲取Android SMS短信服務(wù)接收事件,‘ android.provider.Telephony.SMS_RECEIVED’這個(gè)事件狀態(tài)表示了SMS已被接收。我們可以在AndroidManifest.xml中進(jìn)行如下配置:
< receiver android:name=”.receiver.SMSReceiver”
android:enabled=”true”>< intent-filter>
< action android:name=”android.provider.Telephony.
SMS_RECEIVED” />< /intent-filter>
< /receiver>
< receiver android:name=”.receiver.SMSReceiver”
android:enabled=”true”>< intent-filter>
< action android:name=”android.provider.Telephony.
SMS_RECEIVED” />< /intent-filter>
< /receiver>
為了能讓我們的應(yīng)用能接收Android SMS短信服務(wù),我們得先進(jìn)行權(quán)限的指定,可以在AndroidManifest.xml中如下配置:
< uses-permission android:name=”android.
permission.RECEIVE_SMS”>< /uses-permission>
< uses-permission android:name=”android.
permission.RECEIVE_SMS”>< /uses-permission>
現(xiàn)在,我們的Intent接收器就可以在Android設(shè)備接收到SMS的時(shí)候被調(diào)用了,余下的事情就是去獲取和顯示接收到的SMS消息文本了:
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
Object messages[] = (Object[]) bundle.get(”pdus”);
SmsMessage smsMessage[] = new SmsMessage[messages.length];
for (int n = 0; n < messages.length; n++) {
smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
}
// show first message
Toast toast = Toast.makeText(context, “Received SMS: ” +
smsMessage[0].getMessageBody(), Toast.LENGTH_LONG);toast.show();
}
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
Object messages[] = (Object[]) bundle.get(”pdus”);
SmsMessage smsMessage[] = new SmsMessage[messages.length];
for (int n = 0; n < messages.length; n++) {
smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
}
// show first message
Toast toast = Toast.makeText(context, “Received SMS: ” +
smsMessage[0].getMessageBody(), Toast.LENGTH_LONG);toast.show();
}
Android設(shè)備接收到的SMS是以pdu形式的(protocol description unit)。android.telephony.gsm.SmsMessage這個(gè)類可以儲(chǔ)存SMS的相關(guān)信息,我們也可以從接收到的pdu中創(chuàng)建新的SmsMessage實(shí)例,Toast界面組件可以以系統(tǒng)通知的形式來(lái)顯示接收到的SMS消息文本。
現(xiàn)在讓我們來(lái)在模擬器中運(yùn)行這個(gè)應(yīng)用程序,以及發(fā)送Android SMS短信服務(wù)消息到這個(gè)模擬器上。我們可以在eclipse的Android插件所提供的DDMS視圖(Dalvik Debug Monitor Service)中發(fā)送SMS消息到模擬器上(在’Emulator Control’面板中;另外需要指定電話電話號(hào)碼,不過(guò)可以是任意的)
以上就是Android 中怎么實(shí)現(xiàn)SMS短信服務(wù),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁(yè)題目:Android中怎么實(shí)現(xiàn)SMS短信服務(wù)
轉(zhuǎn)載注明:http://jinyejixie.com/article22/pshpcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、響應(yīng)式網(wǎng)站、軟件開發(fā)、網(wǎng)站改版、微信公眾號(hào)、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)