當前位置:首頁 » 安卓系統 » android簡訊代碼

android簡訊代碼

發布時間: 2025-06-16 01:23:46

1. android 簡訊驗證怎麼導入smssdk

官方有開發文檔,但是有幾點要注意的官方沒有提到,導致初始化失敗:安卓導入SDKSMS Android的jar包出錯,項目運行起來報:unfortunately Stopd

下面開始開發安卓項目調用介面API

創建安卓項目:

修改AndroidManifest.xml文件,加入以下代碼(用戶許可權)

===第一處更改:

代碼

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

===第二處更改:

代碼

<activity
android:name="cn.smssdk.SMSSDKUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" />

拷貝jar包到libs目錄(注意!官方沒提到,一定要拷貝jar包和armeabi文件夾

正確目錄應該以下面結構

在MainActivity中寫代碼,分2步執行,一載入 二發送

代碼(其中AppKey和AppSecret換成自己的)

//初始化
cn.smssdk.SMSSDK.initSDK(this, "你的AppKey", "你的AppSecret");
//發送簡訊
cn.smssdk.SMSSDK.getVerificationCode("86","18612121304");

編譯測試

收到簡訊

2. Android關於簡訊的源代碼在packages/apps/Mms ,可是packages/apps/Mms這個在哪裡

你是要看手機在系統根目錄下的存有簡訊信息的代碼或文字嗎,首先要有root許可權,然後要有能打開系統根目錄的文件管理器,推薦re管理器(界面簡單內存小),文件路徑:根目錄/data/data/ com.android.providers.telephony/databases/mmssms.db

mmssms.db選擇資料庫查看,點開word或word_content可以看到簡訊內容,我截圖給你看,滿意請採納,謝謝!

3. android 開發 一個通過服務端內容自動發送簡訊到指定號碼

伺服器和手機端通信,如果要實時通信,就需要使用推送,自己寫的推送一般不夠好,還是使用專業推送比較好,國內的可以使用極光推送,網路推送等等,如果是國際的可以使用谷歌的google cloud message,或者使用友盟……友盟還是比較靠譜的。

然後手機發送簡訊只需要一個許可權,然後會有很簡單的代碼就可以發送簡訊了,而且,一般的第三發推送也可以給服務端發消息,所以你的要求就齊全了。

如果不是用第三方的向伺服器報告,也可以自己寫和伺服器的通信。

如果推送都要自己寫,那麼android的推送有3種方式,第一socket長連接,比較耗費手機資源和電……第二種輪詢,有一點點延遲,看你的實時性有多高……第三種,使用簡訊息,服務端要有簡訊網關,手機端則監聽手機簡訊資料庫,用這個的比較少,一般長連接比較多。

我的號碼就是我qq,有什麼問題可以進一步的問我,或者我沒時間的話也有很多android開發群 可以介紹給你 隨便問問題,有很多高人解答

4. android系統的簡訊快捷查詢如何實現。(代碼)

獲取會話列表

public static Cursor queryAll(Context context)
{
// Cursor cur = context.getContentResolver().query(CONTENT_URI, PROJECTION,
// "length(snippet)>0", null, null);

Cursor cur = context.getContentResolver().query(Uri.parse("content://sms"),
new String[] {"thread_id,date,address,read,status,type,body,count(address) as "
+ "totleCount,_id from (select thread_id,_id,substr(address,4) as address,date,read,status,type,body "
+ "from sms where address like \"+86%\" and length(thread_id)>0 union select thread_id,_id,address,date,read,status,type,body "
+ "from sms where length(thread_id)>0 and address not like \"+86%\") r group by r.thread_id order by r.date desc --"},
null,
null,
null);
return cur;
}

獲取某個會話所有內容
public static void asyncQueryAll(AsyncQueryHandler handler, int token,String thread_id)
{
handler.cancelOperation(token);
ThreadID=thread_id;
handler.startQuery(token, null, SMS_URI_ALL, PROJECTION,sql,new String[]{thread_id},"date desc");
}

5. android直接發送p編碼後的簡訊

實現過程:
1>初始化:ATZ\r
2>設置文本模式:AT+CMGF=0\r(0:p模式,1:text模式)
3>設置PDU頭:
typedef struct {
char SCA[16]; // 短消息服務中心號碼(SMSC地址)
char TPA[16]; // 目標號碼或回復號碼(TP-DA或TP-RA)
char TP_PID; // 用戶信息協議標識(TP-PID)
char TP_DCS; // 用戶信息編碼方式(TP-DCS)
char TP_SCTS[16]; // 服務時間戳字元串(TP_SCTS), 接收時用到
char TP_UD[16]; // 原始用戶信息
char index; //短消息序號,在讀取時用到
}SM_PARAM;
// SMSC地址信息段
memset(buf, 0, sizeof(buf));
nLength = strlen(pSrc->SCA); // SMSC地址字元串的長度
buf[0] = (char)((nLength & 1) == 0 ? nLength : nLength + 1) / 2 + 1; // SMSC地址信息長度
buf[1] = 0x91; // 固定: 用國際格式號碼
nDstLength = gsmBytes2String(buf, pDst, 2); // 轉換2個位元組到目標PDU串
nDstLength += gsmInvertNumbers(pSrc->SCA, &pDst[nDstLength], nLength); // 轉換SMSC到目標PDU串
// TPDU段基本參數、目標地址等
memset(buf, 0, sizeof(buf));
nLength = strlen(pSrc->TPA); // TP-DA地址字元串的長度
buf[0] = 0x11; // 是發送簡訊(TP-MTI=01),TP-VP用相對格式(TP-VPF=10)
buf[1] = 0; // TP-MR=0
buf[2] = (char)nLength; // 目標地址數字個數(TP-DA地址字元串真實長度)
buf[3] = 0x91; // 固定: 用國際格式號碼
nDstLength += gsmBytes2String(buf, &pDst[nDstLength], 4); // 轉換4個位元組到目標PDU串
nDstLength += gsmInvertNumbers(pSrc->TPA, &pDst[nDstLength], nLength); // 轉換TP-DA到目標PDU串
// TPDU段協議標識、編碼方式、用戶信息等

//nLength = strlen(pSrc->TP_UD); // 用戶信息字元串的長度
memset(buf, 0, sizeof(buf));
buf[0] = pSrc->TP_PID; // 協議標識(TP-PID)
buf[1] = pSrc->TP_DCS; // 用戶信息編碼方式(TP-DCS)
buf[2] = 1; // 有效期(TP-VP)為5分鍾
buf[3] = str2hex(user_p, pSrc->TP_UD); //用戶信息的長度
nDstLength += gsmBytes2String(buf, &pDst[nDstLength], 4); // 轉換該段數據到目標PDU串
strcat(p, "\x01a"); //以CTRL-A結束
gsmString2Bytes(p, &nSmscLength, 2); // 取PDU串中的SMSC信息長度

4>發送信息長度:AT+CMGS=長度,這步重要長度不對是發不出去的。

5>發送用戶信息

1、目前,發送短消息常用Text和PDU(Protocol Data Unit,協議數據單元)模式。
1>使用Text模式收發簡訊代碼簡單,實現起來十分容易,但最大的缺點是不能收發中文簡訊;
2>使用PDU模式不僅支持中文簡訊,也能發送英文簡訊。

2、PDU模式收發簡訊可以使用3種編碼:
1>7-bit(用於發送普通的ASCII字元,它將一串7-bit的字元(最高位為0)編碼成8-bit的數據,每8個字元可 「壓縮」成7個)
2>8-bit(通常用於發送數據消息,如:圖片了,鈴聲等等)
3>UCS2編碼(用於發送Unicode字元)

熱點內容
php和javascript 發布:2025-09-19 19:42:11 瀏覽:280
求代數c語言 發布:2025-09-19 19:37:49 瀏覽:712
java循環列印 發布:2025-09-19 19:01:34 瀏覽:68
如何獲得wifi的密碼 發布:2025-09-19 18:39:41 瀏覽:663
伺服器外網內網ip 發布:2025-09-19 18:34:33 瀏覽:838
彈力和壓縮量 發布:2025-09-19 18:30:05 瀏覽:806
二叉樹用數組存儲 發布:2025-09-19 18:20:22 瀏覽:128
老人機的密碼是什麼 發布:2025-09-19 18:05:57 瀏覽:549
已編譯程序的機器代碼 發布:2025-09-19 17:43:29 瀏覽:905
生理與心裡ftp 發布:2025-09-19 17:42:30 瀏覽:887