我是Android开发的新手。我能够看到自动收件机信息“你到达办公室了”,但是当我点击它时,它并没有打开我的主要活动。
以下是我的代码:
private class ViewUpdater implements Runnable{
private Context contextFromView;
public ViewUpdater(Context context) {
this.contextFromView = context;
}
@Override
public void run() {
CancelNotification(contextFromView, notificationId);
Random r= new Random();
notificationId =r.nextInt();
Intent intent = new Intent();
FragmentActivity activity = getActivity();
PendingIntent pi = PendingIntent.getActivity(getActivity(),1000,intent,0);
String body = "congratulations you made it today";
String title = "Office reached";
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(getActivity())
.setSmallIcon(R.drawable.abc_ic_go)
.setContentTitle(title)
.setTicker("Did you reach office?")
.setContentText(body);
mBuilder.setContentIntent(pi);
nm.notify(notificationId, mBuilder.build());
timerHandler.postDelayed(this, 200000);
}
}
答案 0 :(得分:2)
创建Intent
时,您必须先PendingIntent
开始正确的活动。此外,FLAG_ACTIVITY_NEW_TASK
是必需的,因为您将在现有活动的上下文之外启动活动(来源:Android doc)。
Intent = new Intent(getActivity(), YourActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi = PendingIntent.getActivity(getActivity(),1000,intent,0);