傳送簡訊和打電話的方法

2021-06-25 09:08:34 字數 3170 閱讀 9041

有兩種方法可以實現傳送簡訊,其一是使用intent-startactivity

,uri

資料格式為"

smsto:num

",呼叫的

action

為intent.action_sendto

你好。。

");

startactivity(it);        

其二是使用smsmanager:

edittext num=(edittext)findviewbyid(r.id.num);

edittext content=(edittext)findviewbyid(r.id.content);

string mobile=num.gettext().tostring();

string smstext=content.gettext().tostring();

//獲取

smsmanager

smsmanager sms=smsmanager.getdefault();

//如果內容大於

70字,則拆分為多條

listtexts=sms.dividemessage(smstext);

//逐條傳送簡訊

for(string text:texts)

//傳送結果提示

toast.maketext(sendsms.this, "

傳送成功

二者的不同在於前者只是呼叫了傳送介面,需要按下send按鈕簡訊才傳送出去,而後者則是直接傳送出去。

傳送sms許可權的設定:

android:name="android.permission.send_sms"

/>

關於smsmanager

sdk中的介紹:

manages sms operations such as sending data, text, and pdu sms messages. get this object by calling the static method smsmanager.getdefault().

方法:public void sendtextmessage (string destinationaddress, string scaddress, string text, pendingintent sentintent, pendingintent deliveryintent)

scaddress: 簡訊中心號碼,null為預設中心號碼

sentintent: 當訊息發出時,成功或者失敗的資訊報告通過pendingintent來廣播。如果該引數為空,則發信程式會被所有位置程式檢查一遍,這樣會導致傳送時間延長。

deliveryintent: 當訊息傳送到收件人時,該pendingintent會被廣播。pdu資料在狀態報告的extended data ("pdu")中。

如果收件人或者資訊為空則丟擲 illegalargumentexception 。

public arraylistdividemessage (string text)

將大於70字的簡訊分割為多條。

引數:text    the original message. must not be null.

返回:an arraylist of strings that, in order, comprise the original message

senddatamessage 引數與上類似,只是用於傳送data。

sendmultiparttextmessage傳送多條簡訊,傳送內容必須是用dividemessage分割好了的。

打**的方法類似,所不用的是uri格式為"tel:num",而呼叫的action為intent.action_call:

edittext edit=(edittext)findviewbyid(r.id.dialedit);

string num=edit.gettext().tostring();

if((num!=null)&&(!"".equals(num.trim())))

打**許可權的設定:

1.啟動android emulator,檢視標題欄找出埠。一般是android emulator (5554),其中5554就是埠。

2.開啟命令列,輸入telnet localhost 5554。程式將會連線到android console,返回

android console: type 'help' for a list of commands

ok模擬**打入gsm

輸入gsm call 《模擬打進的**號碼》。如:

gsm call 15555218135

模擬簡訊傳送sms send

輸入sms send 《模擬傳送簡訊的**》 《內容》。如:

sms send 15555218135 hello

其中,15555218135為模擬器手機號碼。

傳送簡訊和打電話的方法

有兩種方法可以實現傳送簡訊,其一是使用intent startactivity uri 資料格式為 smsto num 呼叫的 action 為intent.action sendto 你好。startactivity it 其二是使用smsmanager edittext num edittext...

利用Intent 傳送簡訊和打電話

引數的意義 destinationaddress 目標 號碼 scaddress 簡訊中心號碼,測試可以不填 text 簡訊內容 sentintent 傳送 中國移動 中國移動傳送失敗 返回傳送成功或失敗訊號 後續處理 即,這個意圖包裝了簡訊傳送狀態的資訊 deliveryintent 傳送 中國移...

發簡訊 打電話

發簡訊 1.新增發簡訊的許可權 android name android.permission.send sms 2.顯示的提醒使用者是否允許adk使用簡訊傳送訊息 activitycompat.requestpermissions this,new string,1 3.獲取控制項並新增響應事件。...