2012-04-04 17 views
0

SMSを受信し、ユーザの許可を得て特定の連絡先を携帯電話で検索し、返信メッセージを送信する警告ダイアログボックスを表示するアプリケーションを開発したいと考えています。しかし、私はダイアログボックスを使用せずに警告ダイアログを表示することはできませんトーストは働いています。broatcastReceiverの警告ダイアログを表示する

public void onReceive(Context context, Intent intent) { 
    // Get SMS map from Intent 
    Bundle extras = intent.getExtras();   
    String messages = ""; 

    if (extras != null) { 
     // Get received SMS array 
     Object[] smsExtra = (Object[]) extras.get("pdus"); 

     // Get ContentResolver object for pushing encrypted SMS to incoming folder 
     ContentResolver contentResolver = context.getContentResolver();    
     for (int i = 0; i < smsExtra.length; ++i) { 
      SmsMessage sms = SmsMessage.createFromPdu((byte[])smsExtra[i]); 
      String body = sms.getMessageBody().toString(); 
      String address = sms.getOriginatingAddress(); 

      messages += "SMS from " + address + " :\n";      
      messages += body + "\n"; 

      // Here you can add any your code to work with incoming SMS 
      // I added encrypting of all received SMS    
     }    
     // Display SMS message 
     Toast.makeText(context, messages, Toast.LENGTH_SHORT).show(); 
     AlertDialog.Builder dialog=new AlertDialog.Builder(context); 
     dialog.setTitle("You've Requsted msg"); 
     dialog.setPositiveButton("OK",new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       // TODO Auto-generated method stub 
      } 
     }); 
     dialog.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       // TODO Auto-generated method stub 
      } 
     }); 
     dialog.show(); 
    } 
    }   
    // WARNING!!! 
    // If you uncomment next line then received SMS will not be put to incoming. 
    // Be careful! 
    // this.abortBroadcast(); 
} 

答えて

1

良いアイデアは、アクティビティを作成して...ダイアログであることをそのテーマを設定し、使用してこの活動を開始するためにコンテキストを使用することですcontext.startACtivity(intent);

関連する問題