2015-10-10 35 views
0

我想知道是否可以在從默認消息應用發送文本消息之前創建AlertDialog。我已經看過其他人關於攔截傳出短信的問題,但是,這些人似乎只是顯示如何閱讀郵件,並沒有實際阻止郵件的發送。我也不想從頭創建我自己的消息應用程序,所以請不要這麼做。謝謝。如何在發送短信文本之前創建AlertDialog?

+1

簡答:你不能那樣做。沒有發送短信的廣播,也無法中止發送。 –

回答

0

,首先創建一個新的AlertDialog對象這樣

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

現在讓我們說你要發送通過點擊按鈕觸發短信。我們稱它爲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代碼。如果他/她點擊,則不會發生任何事情。

+0

感謝您的回覆;然而,我指定我想根據是否從*默認消息應用發送SMS來創建AlertDialog。*換句話說,我沒有訪問實際發送SMS的按鈕,所以我不會無法使用你的例子。不過,謝謝你的迴應。你的代碼看起來非常好。 –