利用Intent 傳送簡訊和打電話
發簡訊
引數的意義:
– destinationAddress:目標電話號碼
– scAddress:簡訊中心號碼,測試可以不填
– text: 簡訊內容
– sentIntent:傳送 –>中國移動 –> 中國移動傳送失敗 –> 返回傳送成功或失敗訊號 –> 後續處理 即,這個意圖包裝了簡訊傳送狀態的資訊
– deliveryIntent: 傳送 –>中國移動 –> 中國移動傳送成功 –> 返回對方是否收到這個資訊 –> 後續處理 即:這個意圖包裝了簡訊是否被對方收到的狀態資訊(供應商已經發送成功,但是對方沒有收到)。
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage("156*******9" , null, "nihao", sentPI, null);//傳送普通文字資訊
//short port = 1000;
//sms.sendDataMessage("156*******9", null, port, null, null, null);//傳送一些非文字,比如加密資料
/**
* 直接呼叫簡訊介面發簡訊
*
* @param phoneNumber
* @param message
*/
public void sendSMS(String phoneNumber, String message) {
//獲取簡訊管理器
android.telephony.SmsManager smsManager = android.telephony.SmsManager.getDefault();
//拆分簡訊內容(手機簡訊長度限制)
List<String> divideContents = smsManager.divideMessage(message);
/*for (String text : divideContents) {
System.out.println("MainActivity.sendSMS text=" + divideContents.get(0));
// smsManager.sendTextMessage(phoneNumber, null, text, sentPI, deliverPI);
}*/
System.out.println("MainActivity.sendSMS" + divideContents.size());
for (int i = 0; i < divideContents.size(); i++) {
System.out.println("MainActivity.sendSMS text=" + divideContents.get(i));
}
}
///呼叫系統的簡訊介面,這個方法自動設定接收方的號碼 ,經測試可以
private void send1(String number, String message) {
Uri uri = Uri.parse("smsto:" + number);
Intent sendIntent = new Intent(Intent.ACTION_VIEW, uri);
sendIntent.putExtra("sms_body", message);
startActivity(sendIntent);
}
/**
* 調起系統發簡訊功能
*
* @param phoneNumber
* @param message
*/
public void doSendSMSTo(String phoneNumber, String message) {
if (PhoneNumberUtils.isGlobalPhoneNumber(phoneNumber)) {
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + phoneNumber));
intent.putExtra("sms_body", message);
startActivity(intent);
}
}
打電話
方式一:
if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
Toast.makeText(MainActivity.this, "無許可權", Toast.LENGTH_SHORT).show();
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CALL_PHONE}, 1);//申請許可權
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
} else {
Toast.makeText(MainActivity.this, "有許可權", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + "10086"));
startActivity(intent);
}
PS:這種方式需要動態申請一下許可權,如果已經有許可權了,會去直接撥打電話。
方式二:
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + "10086"));
startActivity(intent);
PS:這種方式的撥打電話,不需要關注,有沒有打電話的這個許可權,不過它只會跳轉到撥打電話的介面,而不會直接去撥打電話。
許可權:
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<!--打電話許可權的設定:-->
<uses-permission android:name="android.permission.CALL_PHONE"/>
這裡需要強調一下:在6.0以後,雖然有些許可權需要動態獲取,但是在清單檔案中,也要新增上相應的許可權。
相關推薦
利用Intent 傳送簡訊和打電話
發簡訊 引數的意義: – destinationAddress:目標電話號碼 – scAddress:簡訊中心號碼,測試可以不填 – text: 簡訊內容 – sentIntent:傳送 –&
傳送簡訊和打電話的方法
傳送簡訊的方法 有兩種方法可以實現傳送簡訊, 其一是使用 intent-startActivity , U RI 資料格式為" smsto:num ", 呼叫的 action 為 Intent.ACTION_SENDTO :
Android入門 利用SmsManager傳送簡訊
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
iOS呼叫系統傳送簡訊和郵件分享
//傳送郵件 -(void)sendMail:(NSString*)subject content:(NSString*)content{ MFMailComposeViewController*controller = [[[MFMailComposeViewCon
通過超級終端連線簡訊貓, 用at指令發簡訊和打電話
1、連線簡訊貓 開始--〉程式--〉附件--〉通訊--〉超級終端 選擇簡訊貓連線的com口,設定波特率(如果是手機卡發簡訊,需要設定為19200)。 2、輸入指令發簡訊 在簡訊貓介面輸入 at at+cmgf=1 at+cmgs=手機號 >簡訊內容 簡訊
【Android 開發教程】使用Intent傳送簡訊
本章節翻譯自《Beginning-Android-4-Application-Development》,如有翻譯不當的地方,敬請指出。使用SmsManager類,可以在自己編寫的程式內部發送簡訊,而不需要呼叫系統的簡訊應用。然而,有的時候呼叫系統內建的簡訊應用會更加方便。這時
Intent傳送簡訊(跳轉到傳送介面)
在main.xml中: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
Nagios無法傳送簡訊和郵件
檢視/usr/local/nagios/var/nagios.log 發現: SERVICE NOTIFICATION: nagiosadmin;gc1;check-host-alive;CRIT
安卓開發中傳送簡訊的方法 APP內單發簡訊 群發簡訊 APP跳轉到簡訊頁 單條簡訊 多條簡訊Intent跳轉
1.APP內部直接傳送短息 包括髮送單條簡訊 傳送多條簡訊 APP內部發送簡訊首先要獲取一個傳送簡訊的許可權 <uses-permission android:name="android.permission.SEND_SMS"/> 安卓6.0以上的手機要動態獲取到這個許可
如何利用fiddler篡改傳送請求和擷取伺服器資訊
一、斷點的兩種方式 1、before response:在request請求未到達伺服器之前打斷 2、after response:在伺服器響應之後打斷 二、全域性打斷 1、全域性打斷就是中斷fiddler捕獲的所有請求,設定:rules>automatic breakpoint>befo
python利用第三方模組,傳送簡訊驗證碼
對於初學者,如何利用第三方python開發包傳送簡訊驗證碼,下面是具體的實現和記錄過程! 環境:虛擬機器上centos7平臺,python3.7版本; 首先,申請賬號的部分就省略了 1. 獲得appid和appSecret 在"我的應用"-&
利用ContentProvider讀取系統應用的資訊(簡訊和聯絡人)
上面兩篇我們講了ContentProvider如何使用 Android進階:步驟2:ContentProvider初體驗 Content Provider 解析URI的方法 UriMatcher的用法和自帶的解析方法 1.現在我們將如何通過某一個應用讀系統短訊息
利用API傳送和接收訊息,本程式碼測試全通過
~_~一個程式設計師的淘寶店: 點選開啟連結 using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace Set
通過Intent傳送和接收返回資料
一、在Activity中通過Intent傳送資料給下一個活動 //在當前活動配置帶有傳送資料的intent Intent intent = new Intent(context,nextActivity.class); intent.putExtra("Extra_dat
javaweb使用JSON格式利用雲之訊平臺傳送簡訊(單條)
package foreiger.utils; import net.sf.json.JSONObject; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; im
python學習筆記23(利用python發郵件和簡訊)
利用python發郵件和簡訊 發郵件: 以163郵箱為例,要利用SMTP伺服器 #發郵件的庫 import smtplib #郵件文字 from email.mime.text import MIMEText #建立基礎物件 #SMTP伺服器 SMTPServer = "smtp.
GPRS模組SIM9001傳送簡訊(傳送長簡訊),包括PDU和text兩種模式
在超級終端輸入: At OK 返回OK則說明你的模組可以正常工作,否則出現故障。 第一、文字模式下發送簡訊流程 文字模式下發送資訊基本分三步驟: 1.設定傳送模式 AT+CMGF=1 CMGF為0是以PDU模式傳送,為1則是以文字方式傳送。 2.接收方電話號碼 AT+CMGS=
iOS應用呼叫系統打電話、發簡訊和發郵件功能
摘要: 在應用程式內,呼叫系統的功能來實現打電話、發簡訊和發郵件,通過電話號碼或者郵箱,直接跳轉到系統的功能介面。 PS:除錯好像只能真機除錯,模擬器沒有反應,真機就可以跳轉,不知道是不是必須真機,但方法肯定是可行的。 1、打電話 應用內呼叫系統打電話有兩種方式: 1
iOS 實現傳送郵件和簡訊
- (void)businessContactWithMail { Class mailClass = (NSClassFromString(@"MFMailComposeViewController")); if (mailClass != nil) { // We
OpenWRT使用4G模組上網和傳送簡訊
1、配置ppp配置參考:https://blog.csdn.net/qianguozheng/article/details/50543704結果就是:lsusb能發現HUAWEI的4G模組,ifconfig能看到3g-ppp0口2、測試上網功能ping www.baidu.