2012-04-16 77 views
0

我創建了一個通知applcation.Notification通知。我想要通過單擊通知去新的活動。我不知道該怎麼做。請給我一個幫助。謝謝!Android通知

我有2個班的通知 1. Notification_2Activity

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
     DatePicker dp = (DatePicker) findViewById(R.id.datePicker1); 
     TimePicker tp = (TimePicker) findViewById(R.id.timePicker1); 
    int month = dp.getMonth(); 
     int year = dp.getYear(); 
     int dayofmonth= dp.getDayOfMonth(); 

     int hourofday=tp.getCurrentHour(); 
     int minute=tp.getCurrentMinute(); 
     EditText e = (EditText) findViewById(R.id.editText1); 
     e.setText("montho="+(month+1)+" year="+year+" day="+dayofmonth+" hour"+hourofday+" minute="+minute); 
Calendar cal = Calendar.getInstance();  //for using this you need to import java.util.Calendar; 

     // add minutes to the calendar object 
     cal.set(Calendar.MONTH,month); 

     cal.set(Calendar.YEAR,year);     
     cal.set(Calendar.DAY_OF_MONTH, dayofmonth); 
     cal.set(Calendar.HOUR_OF_DAY, hourofday); 
     cal.set(Calendar.MINUTE, minute); 


     Intent alarmintent = new Intent(getApplicationContext(), AlarmReceiver.class); 
     alarmintent.putExtra("title","Title of our Notification"); 
     alarmintent.putExtra("note","Description of our Notification"); 
     PendingIntent sender = PendingIntent.getBroadcast(getApplicationContext(), HELLO_ID, 
       alarmintent,PendingIntent.FLAG_UPDATE_CURRENT| Intent.FILL_IN_DATA); 


     AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); 
     am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender); 

這裏是我的第二類 Alarmreceiver.java

@Override 
public void onReceive(Context context, Intent intent) { 
    // TODO Auto-generated method stub 


    NotificationManager manger = (NotificationManager)  
      context.getSystemService(Context.NOTIFICATION_SERVICE); 
      Notification notification = new Notification(R.drawable.ic_launcher, "Combi Note", 
      System.currentTimeMillis()); 
      PendingIntent contentIntent = PendingIntent.getActivity(context, 
      NOTIFICATION_ID, 
      new Intent(context, NotifyMessage.class), 0); 

        Bundle extras=intent.getExtras(); 
        String title=extras.getString("title"); 
      //here we get the title and description of our Notification 
         // 
        String note=extras.getString("note"); 
        notification.setLatestEventInfo(context, note, title, contentIntent); 
        notification.flags = Notification.FLAG_INSISTENT; 
        notification.defaults |= Notification.DEFAULT_SOUND; 
      //here we set the default sound for our 
      //notification 

        // The PendingIntent to launch our activity if the user selects this notification 
        manger.notify(NOTIFICATION_ID++, notification); 


} 

回答

2
Intent notificationIntent = new Intent(this, youractivity.class); 
PendingIntent contentIntent = PendingIntent 
            .getActivity(this, 0, notificationIntent, 0); 

清單文件

+0

我在哪裏添加此代碼? – Lahi2010 2012-04-16 09:18:18

+0

加入我們的報警接收器活動 – KMI 2012-04-16 09:21:06

+0

謝謝我得到了! – Lahi2010 2012-04-16 09:23:09

0
添加烏爾活動名稱

我在我的情況下使用這個:

public void createNotificationToClient(Context context, String payload) 
    NotificationManager notificationManager = (NotificationManager) context 
        .getSystemService(Context.NOTIFICATION_SERVICE); 
    Notification notification = new Notification(R.drawable.icon, 
        "title", System.currentTimeMillis()); 
      // Hide the notification after its selected 
    notification.flags |= Notification.FLAG_AUTO_CANCEL; 
     Intent intent = new Intent(context, yourActivity.class); 
     intent.putExtra("payload", payload); 

     intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
     PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, 
         intent, 0); 
     notification.setLatestEventInfo(context, "title", payload, 
         pendingIntent); 
     notificationManager.notify(0, notification); 
} 
1

pendingIntent添加到您的通知並在本地進行播放。

Intent resultIntent = new Intent(this, ResultActivity.class); 
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); 
// Adds the back stack 
stackBuilder.addParentStack(ResultActivity.class); 
// Adds the Intent to the top of the stack 
stackBuilder.addNextIntent(resultIntent); 
// Gets a PendingIntent containing the entire back stack 
PendingIntent resultPendingIntent = 
     stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); 
... 
NotificationCompat.Builder builder = new NotificationCompat.Builder(this); 
builder.setContentIntent(resultPendingIntent); 
NotificationManager mNotificationManager = 
    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
mNotificationManager.notify(id, builder.build());