从通知启动意图时'startactivity called from non-activity context service'警告



我有一个service,它用startForeground()启动notification,我希望通知在单击时启动活动
我要启动的acitivty定义为android:launchMode="singleTask",通常在服务启动之前运行
这是我的pending intent创建代码:

Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

当我点击通知时,我会收到以下警告:

startActivity called from non-Activity context; 
forcing Intent.FLAG_ACTIVITY_NEW_TASK for: Intent........

我也尝试过用this而不是getApplicationContext()获取活动,但得到了相同的警告
我该如何改正?

不要将Intent.FLAG_ACTIVITY_NEW_TASK用于PendingIntent.getActivity。最好使用FLAG_ONE_SHOT

并尝试使用Activity中的Context来代替getApplicationContext()

相关内容

  • 没有找到相关文章

最新更新