从通知启动意图时,“从非活动上下文服务调用了startactivity”警告

Sag*_*Low 5 service notifications android android-intent android-pendingintent

我有一个service它开始notification用startForeground(),我希望通知上点击启动的活动。
在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);
Run Code Online (Sandbox Code Playgroud)

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

startActivity called from non-Activity context; 
forcing Intent.FLAG_ACTIVITY_NEW_TASK for: Intent........
Run Code Online (Sandbox Code Playgroud)

我也尝试过用this代替,getApplicationContext()但是得到了同样的警告。
我该怎么做呢?

Val*_*Val 4

不要Intent.FLAG_ACTIVITY_NEW_TASK用于PendingIntent.getActivity. 更好地使用FLAG_ONE_SHOT。

并尝试使用ContextofActivity代替getApplicationContext()。