2015-10-10 6 views
0

Я хотел бы узнать, можно ли создать AlertDialog перед отправкой текстового сообщения из приложения обмена сообщениями по умолчанию. Я рассмотрел вопросы других людей о перехвате исходящих sms-сообщений, однако, похоже, они показывают, как читать сообщение, а не препятствовать его отправке. Я также не хочу создавать свое приложение для обмена сообщениями с нуля, поэтому, пожалуйста, не предлагайте этого. Спасибо.Как создать AlertDialog перед отправкой SMS-сообщения?

+1

Короткий ответ: вы не можете этого сделать. Для исходящих SMS-сообщений нет трансляции, и нет возможности прервать отправку. –

ответ

0

Прежде всего создать новый AlertDialog объект как этот

AlertDialog.Builder builder = new AlertDialog.Builder(this); 

Теперь давайте скажем SMS вы хотите отправить запускается нажатием одной кнопки. Позволяет называть sendSMS. Внутри метод OnClick установить параметры AlertDialog объекта, как это:

sendSMS.setOnClickListener(new OnClickListener() {  

      @Override 
      public void onClick(View view) { 
        builder.setMessage("You are about to send an SMS! are you sure you want to send it?") 
        .setTitle("Warning!") 
        .setCancelable(false) 
        .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
         public void onClick(@SuppressWarnings("unused") final DialogInterface dialog, @SuppressWarnings("unused") final int id) { 

          //******************************* 
          //PUT HERE THE SMS SENDING CODE!!! 
          //******************************* 

         } 
        }) 
        .setNegativeButton("No", new DialogInterface.OnClickListener() { 
         public void onClick(final DialogInterface dialog, @SuppressWarnings("unused") final int id) { 
          //closes the dialog; nothing interesting happens here 
          dialog.cancel(); 
         } 
        }); 
        final AlertDialog alert = builder.create(); 
        alert.show(); 
      } 
     }); 
     return true; 
    } 

Это отображает AlertDialog с одним нажатием кнопки, предупреждая пользователя о том, что он/она собирается отправить SMS. Если он/она нажимает «да», тогда вызывается код SMS. Если он/она нажимает, ничего не происходит.

+0

Благодарим за отзыв; однако я указал, что хочу создать AlertDialog на основе того, отправлено ли SMS из * приложения обмена сообщениями по умолчанию *. Другими словами, у меня нет доступа к кнопке, которая фактически отправляет SMS, поэтому я бы Невозможно использовать свой пример. Тем не менее, спасибо за ваш ответ; ваш код выглядит очень красиво. –

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