2017-02-09 2 views
0

В моем приложении для Android я посылаю sms программно, используя этот код (см. Ниже), но я не хочу, чтобы отправленные sms хранились в отправляемых телефонах. Расскажите, как я могу отправить sms без сохранения в телефоне?Как отправить sms в андроид без сохранения

код

SmsManager sms = SmsManager.getDefault(); 
sms.sendTextMessage("sender", null, "body", null, null); 
+0

Что вы делаете? ^^ На мой взгляд, ни одно приложение не сможет отправлять SMS без меня, даже имея возможность узнать об этом. В противном случае его можно было бы легко использовать, чтобы вызывать высокие затраты для пользователей, если у них нет равных по SMS. – Connum

+0

Мне просто интересно, что то, что вы пытаетесь сделать, это мошенничество ... –

+0

это против конфиденциальности пользователей –

ответ

1

Я не думаю, что это возможно, чтобы отправить сообщение из самого телефона без его получения сохранены в приложении Сообщения.

Однако вы можете удалить SMS после его отправки.

Чтобы удалить его, вы можете сделать следующие:

private void deleteMessage() 
{ 
    Cursor c = getContentResolver().query(SMS_INBOX, null, null, null, null); 
    //c.moveToFirst(); 

    while (c.moveToNext()) 
    { 
     System.out.println("Inside if loop"); 

     try 
     { 
      String address = c.getString(2); 
      String MobileNumber = mainmenu.getParameterData().getMobileNumber().trim(); 

      //Log.i(LOGTAG, MobileNumber + "," + address); 

      Log.i(LOGTAG, c.getString(2)); 


      if (address.trim().equals(MobileNumber)) 
      { 
       String pid = c.getString(1); 
       String uri = "content://sms/conversations/" + pid; 
       getContentResolver().delete(Uri.parse(uri), null, null); 
       stopSelf(); 
      } 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 
    } 
} 

Кредиты: https://stackoverflow.com/a/9389776/3286614

0

После отправки сообщения

Попробуйте это, если сообщение было отправлено в папку Исходящие

getContentResolver().delete(Uri.parse("content://sms/outbox"), "address = ? and body = ?", new String[] {etsendernumber.getText().toString(),etmessagebody.getText().toString()}); 

и Это для отправленных товаров

getContentResolver().delete(Uri.parse("content://sms/sent"), "address = ? and body = ?", new String[] {etsendernumber.getText().toString(),etmessagebody.getText().toString()}); 
+0

Ваш Uri одинаковый для обоих фрагментов. Разве это не должно быть «смс/отправлено» или что-то в этом роде? – Nico

Смежные вопросы