今天在维护的项目中出现一个比较意外的问题,跳转App内部页面出现以下问题:
出现问题的手机是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开发的小伙伴。