2013-08-11 3 views
0

Я делал приложение, которое могло отправлять несколько sms-сообщений (все с одним и тем же текстом) одному получателю. В настоящее время приложение имеет довольно плохую настройку для отправки сразу 5 сообщений.Отправить несколько смс в Android

Вот что я использовал для отправки 5 sms-сообщений. Есть ли лучший способ отправить несколько сообщений и лучший способ сохранить сообщения в почтовых ящиках пользователей? Потому что копирование и вставка одной и той же вещи снова и снова действительно беспорядочна. Благодаря!

public void function1(int id){ 
      String phoneNo = phoneInput.getText().toString(); 
      String sms = textSMS.getText().toString(); 
      try { 
       Toast.makeText(getApplicationContext(),getString(R.string.sentMessages), Toast.LENGTH_LONG).show(); 
       SmsManager smsManager = SmsManager.getDefault(); 
       smsManager.sendTextMessage(phoneNo, null, sms, null, null); 
       smsManager.sendTextMessage(phoneNo, null, sms, null, null); 
       smsManager.sendTextMessage(phoneNo, null, sms, null, null); 
       smsManager.sendTextMessage(phoneNo, null, sms, null, null); 
       smsManager.sendTextMessage(phoneNo, null, sms, null, null); 
       SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
       final boolean save = prefs.getBoolean("addvalues", true); 
       if(save){ 
        ContentValues values = new ContentValues();      
        values.put("address", phoneNo);        
        values.put("body", sms); 
        getContentResolver().insert(Uri.parse("content://sms/sent"), values); 
        getContentResolver().insert(Uri.parse("content://sms/sent"), values); 
        getContentResolver().insert(Uri.parse("content://sms/sent"), values); 
        getContentResolver().insert(Uri.parse("content://sms/sent"), values); 
        getContentResolver().insert(Uri.parse("content://sms/sent"), values); 
       } 
       } catch (Exception e) { 
        Toast.makeText(getApplicationContext(),getString(R.string.messageNotSent), Toast.LENGTH_LONG).show(); 
       e.printStackTrace(); 
       } 
+0

Что такое приложение? На первый взгляд это похоже на спам-программы. – avitex

+0

Почему бы не использовать циклы и массивы? – abbath

+0

вы делаете это грязным. почему вы так много повторяете. Как @abbath сказал использование циклов и массива. – Sandeep

ответ

1

Откладывание приложения выглядит как спам-бот, вот как я его реализую.

Использование петли for или while, вероятно, является тем, что вы ищете.

(Где noSends это количество раз, которые вы хотите отправить сообщение)

public void sendMultiple(int noSends){ 

    String phoneNo = phoneInput.getText().toString(); 
    String sms = textSMS.getText().toString(); 

    try 
    { 
     SmsManager smsManager = SmsManager.getDefault(); 

     SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 

     for(int i = noSends; i != 0; i--) 
     { 
      smsManager.sendTextMessage(phoneNo, null, sms, null, null); 
     } 

     if(prefs.getBoolean("addvalues", true)) 
     { 
      ContentValues values = new ContentValues(); 
      values.put("address", phoneNo); 
      values.put("body", sms); 

      while(noSends != 0) 
      { 
       getContentResolver().insert(Uri.parse("content://sms/sent"), values); 
       noSends--; 
      } 
     } 
    } 
    catch (Exception e) 
    { 
     Toast.makeText(getApplicationContext(),getString(R.string.messageNotSent), Toast.LENGTH_LONG).show(); 
     e.printStackTrace(); 
    { 
    else 
    { 
     Toast.makeText(getApplicationContext(),getString(R.string.sentMessages), Toast.LENGTH_LONG).show(); 
    } 
} 
+0

Я попробую это спасибо. И приложение, безусловно, не спам-бот, я бы никогда этого не сделал. Это просто небольшое приложение, чтобы шутить с друзьями, чтобы никому не навредить. – user1798956

+0

@ пользователь1798956 проблем нет. Если это работает, способ показать другим пользователям это было правильно и сказать спасибо, это * проверить этот ответ как правильный *. – avitex

+0

Хорошо, я попробую завтра! – user1798956

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