如果上下文不是 Activity Context 而是 Application Context,如何启动 Intent

发布于 2025-01-05 06:00:40 字数 187 浏览 0 评论 0原文

我正在尝试从扩展 BroadcastReceiver 的类启动一个活动。

public void onReceive(Context context, Intent intent) {

问题是参数上下文是应用程序上下文而不是活动上下文。

有没有办法使用应用程序上下文启动意图?

I'm trying to start an activity from a class that extends BroadcastReceiver.

public void onReceive(Context context, Intent intent) {

the problem is that parameter context is the Application context and not an Activity context.

Is there a way start an intent using the Application context?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

三月梨花 2025-01-12 06:00:40

这是如何使用上下文调用另一个活动的示例代码,
根据您的要求设置标志:

public void onReceive(Context context, Intent intent) { 
    
    Intent intent = new Intent();   
    intent.setClass(context, xxx.class); 
    intent.setAction(xxx.class.getName()); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 
    context.startActivity(intent);  
}

Here is sample code how to call another activity using context,
set flag as per your requirement:

public void onReceive(Context context, Intent intent) { 
    
    Intent intent = new Intent();   
    intent.setClass(context, xxx.class); 
    intent.setAction(xxx.class.getName()); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 
    context.startActivity(intent);  
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文