2016-09-28 16 views
0

這是我發送的消息的示例代碼,我想使用不在發送的項目中顯示此消息。Android-如何從發送的項目中刪除特定的消息或在使用以下代碼時不顯示發送的消息。

String strPhone = "XXXXXXXXXXX"; 

String strMessage = "Lorem\nIpsum"; 

SmsManager sms = SmsManager.getDefault(); 

sms.sendTextMessage(strPhone, null, strMessage, null, null); 

Toast.makeText(this, "Sent.", Toast.LENGTH_SHORT).show(); 

我想從發送的項目中刪除此發送的消息或現在顯示在已發送的項目中。在所有版本中均爲 。 請幫我解決。

+1

您只能在JellyBin及以下版本中執行此操作。 –

回答

0

發送郵件後查詢您的會話。然後通過使用您發送的消息中的任何唯一關鍵字比較消息內容來獲取該特定消息。我在運行棉花糖的手機中嘗試了這些代碼。

Uri uriSMS = Uri.parse("content://sms/conversations"); 
    Cursor cur = getContentResolver().query(uriSMS, null, null, null, null); 
    if(cur != null && cur.moveToNext()) { 
     do { 
      String smsContent = cur.getString(2); 
      if(smsContent.contains("your sms keyword")) { 
       String pid = cur.getString(0); // Get id; 
       String uri = "content://sms/" + pid; 
       getContentResolver().delete(Uri.parse(uri), null, null); 
      } 
     } while (cur.moveToNext()); 
    } 
+0

** - @ Febi Mathew **權限訪問發生錯誤...'java.lang.SecurityException:權限拒絕:編寫com.android.providers.telephony.SmsProvider uri內容:// sms/61 from pid = 30990, uid = 10186需要android.permission.WRITE_SMS或grantUriPermission()' –

+0

在Manifest中包含WRITE_SMS和READ_SMS權限。 –

+0

也嘗試此..但不刪除 –