android 幾種傳送簡訊的方法

2021-06-20 03:19:10 字數 4446 閱讀 8300

android中傳送簡訊很簡單,

首先要在mainfest.xml中加入所需要的許可權:

1<uses-permissionandroid:name="android.permission.send_sms">

2<uses-permissionandroid:name="android.permission.read_sms">

3<uses-permissionandroid:name="android.permission.receive_sms">

為了後面測試方便,乾脆把sms的所有許可權加上。

方法1:

01publicclasstestsmsextendsactivity

14

15}

方法2:

如果想知道簡訊傳送後的狀態,需要兩個receiver來實現

01privatevoidsend2(string number, string message)

30}

31},newintentfilter(sent));

32

33registerreceiver(newbroadcastreceiver()

45}

46},newintentfilter(delivered));

47

48smsmanager smsm = smsmanager.getdefault();

49smsm.sendtextmessage(number,null, message, sentpi, deliveredpi);

50}

在模擬器上是看不到receiver中的log資訊的,據網上說在手機上是可以實現的,只可惜手中無機,也只能紙上談兵了。

方法3:

上面都是傳送文字檔案,如果想傳送一些非文字,比如加密資料,可以用以下方法:

1privatevoidsend2(string number, string message)

方法4:

呼叫系統的簡訊介面,這個方法需要使用者自己輸入接收方的**號碼

1privatevoidsend(string message)

這個方法自動設定接收方的號碼

1privatevoidsend1(string number, string message)

簡訊的接受,需要實現broadcastreceiver類,監聽系統訊息

首先在mainfest.xml中加入申明,smsreceiver為實現類

1<receiverandroid:name=".smsreceiver">

2

3<intent-filter>

4<actionandroid:name="android.provider.telephony.sms_received"/>

5

6

7

如果是方法3,使用senddatamessage時需要加入

01<receiverandroid:name=".smsreceiver">

02

03<intent-filter>

04<actionandroid:name="android.intent.action.data_sms_received"/>

05<dataandroid:scheme="sms"/>

06<dataandroid:host="localhost"/>

07<dataandroid:port="1000"/>

08

09

10

將其中的dat資料注釋掉,模擬器上也可以接收到簡訊; port跟senddatamessage中的埠值不一致時,也沒有問題,太神奇了

01publicclasssmsreceiverextendsbroadcastreceiver

18}

19}

20}

如果是senddatamessage傳送:

01publicclasssmsreceiverextendsbroadcastreceiver

19}

20}

21}

不一樣的地方是message的獲取時使用getuserdata()方法。

原文**:

android傳送簡訊

smsmanager sm smsmanager.getdefault arraylist smss sm.dividemessage content for string string smss parameters destinationaddress 簡訊接收人的 號碼 scaddress 簡...

android傳送簡訊

利用類 smsmanager 傳送資訊,smsmanager 為 smsmanager 乙個預設的例項.smsmanager smsmanager smsmanager.getdefault smsmanager.sendtextmessage destinationaddress,scaddres...

Android傳送簡訊

android傳送簡訊有兩種方式是 一 呼叫簡訊程式 二 直接傳送簡訊。第一種的 如下 1 2 3 4 5 6 7 uri uri uri.parse smsto 5554 intent i newintent intent.action sendto,uri i.putextra sms body...