错误提示信息:

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

原因:

     activity继承了context重载了startActivity方法,如果使用acitvity中的startActivity,不会有任何限制。

     而如果直接使用context的startActivity则会报上面的错误,根据错误提示信息,可以得知,如果要使用这种方式需要打开新的TASK。

故,解决方法:

  /**
     * 启动新的Activity
     * @param context 当前Activity
     * @param cls     要启动的Activity的类
     */
    public static void startUserActivity(Context context , Class cls){
        Intent intent = new Intent();
        intent.setClass(context, cls);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
        context.startActivity(intent);
    }
 

更多相关文章

  1. 【Android】Android(安卓)SurfaceFlinger之SurfaceFlinger启动过
  2. Android(安卓)Studio 新手常见问题汇总
  3. android 使用命令模拟点击 滑动
  4. android 使用include 调用内部组件
  5. Android(安卓)SQLite数据库解析并使用两种方法实现增删改查
  6. java.util.concurrent.ExecutionException: java.lang.Unsupport
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. java.lang.IllegalArgumentException: co
  2. Android(安卓)抓包分析
  3. 开源项目之Android-GL(OpenGL 编程)
  4. Android(安卓)与 SQLite
  5. android学习笔记21:日期时间控件
  6. Android(安卓)自定义左滑删除列表
  7. AChartEngine api说明
  8. retrofit rxjava android 封装 使用
  9. Android实现新手引导半透明蒙层效果
  10. Android常用三方框架