Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag
2016-07-28 14:13
639 查看
在Dialog中使用startActivity()时候,出现了这个错误:
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的startActivity方法,不会有任何限制,因为Activity继承自Context,已重载了startActivity方法。但是如果是在其他地方(如Widget或Service、BroadcastReceiver中)使用startActivity()方法,就会出现此错误。
android.util.AndroidRuntimeException: Calling startActivity() from
outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK
flag. Is this really what you want?
原因
Content的startActivity方法,需要开启一个新的task。如果是使用 Activity的startActivity方法,不会有任何限制,因为Activity继承自Context,已重载了startActivity方法。但是如果是在其他地方(如Widget或Service、BroadcastReceiver中)使用startActivity()方法,就会出现此错误。
解决方法
为Intent设置一个FLAG_ACTIVITY_NEW_TASK的flag。public void toOtherActivity(Context context, Intent intent) { …… Intent intent = new Intent(context, OtherActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); …… }
相关文章推荐
- LeetCode-Wiggle Subsequence
- Android酷炫实用的开源框架(UI框架)
- 题号未知 , Array Queries 【RMQ】
- StringBuffer和StringBuilder
- Vue新手向 知乎日报 by Vue.js
- Android UI系列-----ImageView的scaleType属性
- QT Creator 使用 design 修改 ui界面编译后界面未更新问题的解决 From EricQu
- SPOJ 375 Query on a tree(树链剖分)
- 外观数列(Look-and-say sequence)
- BlockingQueue
- 安装GRID时跑root.sh脚本报错(ORA-27091: unable to queue I/O)
- HDUOJ 1216 - Assistance Required
- STL 之 priority_queue
- sql deque
- Hibernate中的Query cache(查询缓存)
- padding margin;gravity,layout_gravity
- 谈 UIView Animation 编程艺术
- JUEL中得到identifier的值
- ios基于UITabBarController实现tab页面切换
- moqui学习之初接触