2011-10-20 16 views
0

Android開発の新機能Android;アプリの終了を確認する

私は、ユーザーが電話番号を呼び出す機能を作った。電話番号は、アプリケーションを終了し、ダイヤラーを開く。

これまで、すべて大丈夫です。しかし今、ユーザがボタンをクリックして呼び出しがアプリケーションを終了することを警告するときに確認ダイアログを追加したいと思います。 (「電話をかけてアプリを終了しますか?確かですか?Canel」)

私は見回しましたが、明確な例は見つかりませんでした。どのような助けにも感謝します。

final String phoneNumber; 
phoneNumber = "5555555555"; 

ImageButton callButton = (ImageButton)findViewById(R.id.btnCall); 

callButton.setOnClickListener(new OnClickListener(){ 
    public void onClick(View v) { 
     try { 
      Intent callIntent = new Intent(Intent.ACTION_DIAL); 
      callIntent.setData(Uri.parse("tel:"+phoneNumber)); 
      startActivity(callIntent); 
     } catch (ActivityNotFoundException activityException) { 
      Log.e("Calling a Phone Number", "Call failed", activityException); 
     } 
    } 
}); 

答えて

4

これは、あなたが探しているものを行う必要があります。

callButton.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v) { 
      OnClickListener listener = new OnClickListener(){ 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        if(which == Dialog.BUTTON_POSITIVE) 
        { 
         try { 
          Intent callIntent = new Intent(Intent.ACTION_DIAL); 
          callIntent.setData(Uri.parse("tel:"+phoneNumber)); 
          startActivity(callIntent); 
         } catch (ActivityNotFoundException activityException) { 
          Log.e("Calling a Phone Number", "Call failed", activityException); 
         } 
        } 
       }   
      }; 

      new AlertDialog.Builder(v.getContext()) 
      .setMessage("Are you sure you want to leave the application?") 
      .setPositiveButton("Yes", listener) 
      .setNegativeButton("No", listener) 
      .show(); 
     } 
    } 

編集はあなたがいることを警告ダイアログを使用することができます

+0

は助けをどうもありがとうございました。 – JFFF

2

v.getContext()でコンテキストを交換するはい]ボタンと[いいえ]ボタンに付属:

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

alert.setTitle("Title"); 
alert.setMessage("Message"); 

// Set an EditText view to get user input 
final EditText input = new EditText(this); 
alert.setView(input); 

alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
public void onClick(DialogInterface dialog, int whichButton) { 
    String value = input.getText(); 
    // Do something with value! 
    } 
}); 

alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 
    // Canceled. 
    } 
}); 

alert.show(); 

try/catchにstartActivity(callIntent);の後に挿入できます。

関連する問題