2016-09-28 4 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 : Permission Denial : com.android.providers.telephony.SmsProvider uri content : // sms/61 from pid = 30990, uid = 10186에는 android.permission.WRITE_SMS 또는 grantUriPermission()이 필요합니다. –

+0

매니페스트에 WRITE_SMS 및 READ_SMS 권한이 포함됩니다. –

+0

또한 시도해보십시오 .. 그러나 삭제하지 마십시오 –