来自服务的通知有效,但活动未启动

时间:2011-11-18 21:47:12

标签: android android-layout android-emulator android-service android-ui

我正在尝试从服务发送通知,并且成功地执行此操作(通知确实显示在状态栏上)。 但是,点击通知后才能观看活动 - 我将回到移动主屏幕。另外,我在调试模式中注意到我没有达到活动的“onCreate”方法。

这是我的代码: 服务代码:

NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    int icon = R.drawable.notificationicon;
    CharSequence tickerText = "Hello";
    long when = System.currentTimeMillis();

    Notification notification = new Notification(icon, tickerText, when);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
            new Intent(this, NotificationsActivity.class), 0);
    notification.setLatestEventInfo(this, "My notification","Hello World!", pendingIntent);
    notificationManager.notify(1, notification);

活动代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(dialogLayout);
}

1 个答案:

答案 0 :(得分:0)

如果你想从接收者/服务中startActivity,你必须创建一个意图,添加一个标志,通知它开始一个新任务,然后开始活动。

改编这个伪代码:

Intent startServiceIntent = new Intent(context, com.myCorp.myApp.myClass.class);
startServiceIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startServiceIntent);

我在BootReceiver中使用它来启动应用程序(for example use this BootReceiver)。