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