gpt4 book ai didi

android - 从通知启动 Intent 时发出“从非 Activity 上下文服务调用的 startactivity”警告

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:56:17 24 4
gpt4 key购买 nike

我有一个服务,它使用startForeground()启动一个通知,我希望通知在点击时启动一个 Activity 。< br/>我要启动的 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() 获取 Activity ,但得到了相同的警告。
我该如何纠正?

最佳答案

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

并尝试使用 ActivityContext 代替 getApplicationContext()

关于android - 从通知启动 Intent 时发出“从非 Activity 上下文服务调用的 startactivity”警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20055600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com