2012-04-14 8 views
2

私は整理用のアプリケーションを開発しようとしています。特定の時間にタスクを設定した後、私は通知を作成したので、この通知はステータスバーに表示され、ユーザーがこれに触れると、現在のアクティビティが表示されます。
問題は次のとおりです。通知が表示されると、アクティビティも開始されます。
これを防止する方法はありますか?つまり、通知が表示されたときにアクティビティが自動的に開始されないため、ユーザーは通知をクリックしてアクティビティを起動する必要があります。
アクティビティを開始せずに通知を表示するだけです

"Main"クラスとアラームマネージャが内部にあります。このアラームマネージャーは特定の時刻に起動し、別のアクティビティを開始します(DisplayNotification)。 DisplayNotificationクラスで

{ 
    Intent intent = new Intent("com.test.DisplayNotification"); 
    intent.putExtra("alarm_message", "Alarm"); 
    intent.putExtra("item_name", "message"); 
    PendingIntent broadcast = PendingIntent.getActivity(getBaseContext(), 0, intent, 0); 
    AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE); 
    am.set(AlarmManager.RTC_WAKEUP, mili, broadcast); 
} 


iは

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     String message = getIntent().getExtras().getString("item_name"); 

     Intent i = new Intent("com.test.Main"); 


     PendingIntent detailsIntent = 
      PendingIntent.getActivity(this, 0, i, 0); 

     NotificationManager nm = (NotificationManager) 
      getSystemService(NOTIFICATION_SERVICE); 
     Notification notif = new Notification(
      R.drawable.icon, 
      "Time's up!", 
      System.currentTimeMillis()); 

     CharSequence from = "AlarmManager - Time's up!"; 
     notif.setLatestEventInfo(this, from, message, detailsIntent); 


     nm.notify(1, notif); 
     //---destroy the activity--- 
     finish(); 

    } 

答えて

2

が、それはそのonReceive(...)方法でNotificationを作成する必要があり、アラームの結果は「聞く」とBroadcastReceiverを使用しています。

+0

私はこれについて前もって考えていますが、文脈を取得する上でいくつかの問題がありますが、今は大丈夫です。 –

+0

@TrầnĐứcAnh:喜んで助けてくれるでしょう。 – Squonk

関連する問題