完美解决方案_onActivityResult

完美解决方案_onActivityResult在Service中启动Activity,会报错如下:Intentintent=newIntent(MyService.this,Main2Activity.class);startActivity(intent);…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

在Service中启动Activity,会报错如下:

Intent intent = new Intent(MyService.this, Main2Activity.class);
startActivity(intent);

                                                                           android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
                                                                               at android.app.ContextImpl.startActivity(ContextImpl.java:672)
                                                                               at android.app.ContextImpl.startActivity(ContextImpl.java:659)
                                                                               at android.content.ContextWrapper.startActivity(ContextWrapper.java:331)
                                                                               at realmusic.ace.com.myapplication.MyService$1.run(MyService.java:32)
                                                                               at android.os.Handler.handleCallback(Handler.java:739)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                               at android.os.Looper.loop(Looper.java:148)
                                                                               at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

根据错误信息的提示,增加FLAG_ACTIVITY_NEW_TASK flag,即可解决问题。
解决方法:

ntent intent = new Intent(MyService.this, Main2Activity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
startActivity(intent);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188045.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号