我已經可以在通知欄中顯示圖標,如下面的代碼所示。我想在用戶點擊此圖標時開始一項新活動(myclass
),但我不知道如何執行此操作。我應該把意圖放在哪裏?通知圖標點擊開始新活動
public class NotificationActivity extends Activity {
AlarmManager am;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notification);
am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
setRepeatingAlarm();
}
public void setRepeatingAlarm() {
Intent intent = new Intent(this, TimeAlarm.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,
intent, PendingIntent.FLAG_CANCEL_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),
(20 * 1000), pendingIntent);
System.out.println("Calling Alaram...");
}
}
public class BootUpReciever extends BroadcastReceiver {
NotificationManager nm;
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("in broad....");
nm = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE);
CharSequence from = "Lokesh";
CharSequence message = "Notification Test...";
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
new Intent(), 0);
Notification notif = new Notification(R.drawable.cherry_icon,
"Notification Test...", System.currentTimeMillis());
notif.setLatestEventInfo(context, from, message, contentIntent);
nm.notify(1, notif);
if ((intent.getAction() != null) &&
(intent.getAction().equals("android.intent.action.BOOT_COMPLETED")))
{
System.out.println("in broadcast receiver.....");
Intent i = new Intent(context, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
}
你有沒有在清單中聲明你的新活動? @NiceGuy – SamDroid
是宣言,但我把意圖放在這個代碼中,當點擊通知欄上的圖標時開始新的活動? –
檢查這個問題: http://stackoverflow.com/questions/10184351/how-to-start-activity-when-user-clicks-a-notification –