`
jishublog
  • 浏览: 861972 次
文章分类
社区版块
存档分类
最新评论

解决在非Activity中使用startActivity

 
阅读更多

错误提示信息:

Caused by: 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。

故,解决方法:

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(intent);

错误提示信息:

Caused by: 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。

故,解决方法:

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(intent);

分享到:
评论

相关推荐

    Android开发中Activity之间切换出现短暂黑屏的解决方法

    本文实例讲述了Android开发中Activity之间切换出现短暂黑屏的解决方法。分享给大家供大家参考,具体如下: 在默认情况下,Android应用程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如...

    Activity代理框架AyoActivityNoManifest.zip

    ActivityAttacher就是附着在上面4个模板Activity里的Activity代理ActivityAttacher中持有一个Activity实例对象,是在onCreate时赋值的ActivityAttacher可以处理Activity中的所有配置和生命周期ActivityAttacher提供...

    Android Intent传递数据大小限制详解

    在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化对象,Parcelable与Serializable。 Intent传递数据时,如果数据太大,可能...

    Fragmentation-为"单Activity + 多Fragment","多模块Activity 多Fragment"架构而生,简化开发,轻松解决动画、嵌套、事务相关等问题。.zip

    提供统一的onLazyInitView()懒加载方法6、提供 Fragment转场动画 系列解决方案,动态更换动画7、提供Activity作用域的EventBus辅助类,Fragment通信更简单、独立(需要使用EventBusActivityScope库)8、支持SwipeBack...

    安卓插件开发框架CJFrameForAndroid.zip

    解决办法是:在插件工程的项目中添加一个/cjlibs的文件夹,将需要调用的jar包放到这个文件夹中,并在插件项目目录下的.classpath中加入如下语句,系统会自动处理相关细节 kind="lib" path="cjlibs"/>

    详解Android Activity之间跳转出现短暂黑屏的处理方法

    同样,使用startActivity(intent)方法从一个Activity进入到新的Activity时,这个过程中也会出现短暂的黑屏。这个问题的存在是由Android应用框架决定的,但的确很影响用户体验。下面就动手来解决这个黑屏 问题! 第一...

    startService和bindService

    最近在开发过程中遇到相关问题,在此记录过程及解决思路。

    Android代码-and-load-aot

    解决思路举一个例子:例如在打开A页面Activity时,在调用startActivity方法的时候,就去调用A页面的加载数据方法loadData(),此时开始加载网络数据,同时Acitivity开始初始化加载布局等,等Activity准备好UI需要数据...

    Android自主学习项目报告(一).doc

    startActivity(Intent intent) 带返回值启动:startActivityForResult(Intent intent, int requestCode) onCreate()、onStart()、onRestart()、onResume()、onPause()、onSt op()、onDestroy() ...

    Android代码-一种简便、可变Action的实现方案

    DA框架的初衷是为了取代Context.startActivity的调用方式,使用建造者模式(Builder Pattern)构建交互参数,使程序更优美。DA框架能够对任何一个已经存在的Action修改,动态改变原有的跳转逻辑。值得一提的是,DA框架...

    新版Android开发教程.rar

    � 由于是源代码开放的产品,对非主导厂商而言,可以避开与主导厂商在核心技术上面的差距,开发出 更 具竞争力和差异化的产品。 对运营商的影响 � 丰富的数据业务,将导致数据流量的显著增加 。 � 手机来源增加,...

    详解VirtualApk启动插件Activity

    插件以APK的形式保存在SD卡上,通过startActivity方式启动Activity需要首先将Activity注册到AndroidManifest.xml,如果没有注册就会出现如下错误。 Instrymentation.checkStartActivityResult 要实现插件Activity的...

    andriod精华学习教程

    ANR定义 ...startActivity(),其生命周期涉及的函数有: void onCreate(Bundle savedInstanceState) void onStart() void onRestart() void onResume() void onPause() void onStop() void onDestroy()

    ShareARouter:阿里路由框架ARouter使用与简单封装

    除此之外,使用原生的路由方案会出现跳转过程无法控制的问题,因为一旦使用了StartActivity()就无法插手其中任何环节了,只能交给系统管理,这就导致了在跳转失败的情况下无法降级,而是会直接抛出运营级的异常。...

    Android开发指南

    • 一个意图对象是传递给Context.startActivity()或者Activity.startActivityForResult()来启动一个活动或者让一个存在的活动去做某些新的事情。 • 一个意图对象是传递给Context.startService()来发起一个服务或者...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    市场上相应的检测平台诸如检测通、凡特网等皆为pc端检测网站,并且操作繁琐不够人性化,用户在实地使用中存在很多问题。昆山工业技术研究院着眼于为委托用户和质检机构搭建良好的沟通桥梁,免去目前市场业务中企业...

    android开发——简易计算器的设计报告.doc

    (3)两个Activity之间进行数据交换:startActivity() 只有Intent一个参数;public void startSubActivity(Intent intent, int requestCode) (requestCode:用来标识某一个调用,一般定义一个常量)。传过去:函数...

    Android代码-FaceDetect

    FaceDetect base on face 解决了的问题: camera预览变形 拍照后图片不正 待解决 与face api配合的多样化的动作.(目前只有扫脸获取人脸信息,后续需加上建组,人脸登录等...startActivity: Intent intent = new Intent(co

    click-debounce:使用ASM处理Android的点击反跳,特别是快速双击

    自述文件 ... 支持增量编译! 支持并行编译! 编译速度更快,编译时间更短。... startActivity( new Intent ( MainActivity . this , SecondActivity . class)); } 在编译时将字节码修改为: @Debounced pub

    AppPluginDemos:demo启动未注册活动的演示

    插件化入门篇-如何启动一个未注册过的Activity...寻找Hook点对于启动Activity,老实说光startActivity便有很多要说,很多文章会带着你一直追到ActivityManagerService中的若干个方法,最后再调用本地的ActivityThread里

Global site tag (gtag.js) - Google Analytics