2012-05-08 80 views
1

我創建了MMS消息。 問題是:這是顯示在我的應用程序,但不顯示在Android本機消息應用程序。 你知道什麼可能是錯的嗎?我應該爲thread_id設置什麼? 在此先感謝。在我的應用程序中創建了MMS消息,但未在本機消息應用程序中顯示

---這裏是我的代碼---

ContentResolver cr = getContentResolver(); 

ContentValues cv = new ContentValues(); 
cv.put("thread_id", System.currentTimeMillis() % 100); 
cv.put("ct_t", "application/vnd.wap.multipart.related"); 
cv.put("read", "1"); 
Uri temp_mms = cr.insert(Uri.parse("content://mms/inbox"), cv); 
String str_uri = temp_mms.toString(); 
String newID = temp_mms.getLastPathSegment().trim(); 

ContentValues cv_addr2 = new ContentValues(); 
cv_addr2.put("address", "112233"); 
Uri temp_mms_addr2 = cr.insert(Uri.parse("content://mms/"+ newID +"/addr"), cv_addr2); 

// ------------------------------PART Table ContentValues 
Uri uriPart = Uri.parse("content://mms/"+ newID +"/part"); 
ContentValues cv_part2 = new ContentValues(); 
cv_part2.put("ct", "image/jpeg"); 
Uri temp_mms_part2 = cr.insert(uriPart, cv_part2); 

OutputStream os = cr.openOutputStream(temp_mms_part2); 
InputStream is = cr.openInputStream(selectedImageUri); 
byte[] buffer = new byte[256]; 
for (int len = 0; (len = is.read(buffer)) != -1;) { 
    os.write(buffer, 0, len); 
} 

回答

1

部分答案:不知道爲什麼它沒有顯示在了內置的短信應用程序,但檢查出的答案How to Read MMS Data in Android?如何獲得一個線程ID。

編輯:您還可能需要爲發件人添加一個地址條目到content://mms/{id}/addr,如果這是來自當前設備,看起來好像insert-address-token就足夠了。地址條目還需要type,其應該被設置爲用於接收地址的151以及用於發送者的137

可能還有更多的需要,我會讀取現有的數據庫,只是通過它現場通過它,並確保你覆蓋的東西不是null0

相關問題