我有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);
当我点击通知时,我收到以下警告:
startActivity called from non-Activity context;
forcing Intent.FLAG_ACTIVITY_NEW_TASK for: Intent........
我也尝试使用this
代替getApplicationContext()
来获取活动,但也收到相同的警告。
我该如何做到这一点?
答案 0 :(得分:3)
不要将Intent.FLAG_ACTIVITY_NEW_TASK
用于PendingIntent.getActivity
。更好地使用FLAG_ONE_SHOT
。
尝试使用Context
的{{1}}代替Activity
。