Android-在部分手机startActivity出现Is this really what you want?

时间:2021-7-21 作者:qvyue

今天在维护的项目中出现一个比较意外的问题,跳转App内部页面出现以下问题:

android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

出现问题的手机是Android 10以上的系统。当时我很奇怪为什么出现这样的问题,部分手机又是正常的。当看到Logcat报错的日志,我就恍然大悟了。解决问题的办法如下:

public static void start(Context context) {
     Intent intent = new Intent(context, XXActivity.class);
     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     context.startActivity(intent);
}

显著的变化是新增了下面的代码:

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

这个问题是由于我们某个地方传输的Context不是Activity导致的。这种跳转方式在维护一些项目,都是有可能见到。希望这篇文章可以帮助到同样是Android开发的小伙伴。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。