非Activity下跳转Activity的问题
来源:互联网 发布:淘宝网页用html 编辑:程序博客网 时间:2024/05/21 09:50
Service继承自ContextWrapper,ContextWrapper的startActivity最终调用的是ContextImpl的startActivity,代码如下,会先检查Intent的Flag
@Override public void startActivity(Intent intent, Bundle options) { warnIfCallingFromSystemProcess(); if ((intent.getFlags()&Intent.FLAG_ACTIVITY_NEW_TASK) == 0) { throw new AndroidRuntimeException( "Calling startActivity() from outside of an Activity " + " context requires the FLAG_ACTIVITY_NEW_TASK flag." + " Is this really what you want?"); } mMainThread.getInstrumentation().execStartActivity( getOuterContext(), mMainThread.getApplicationThread(), null, (Activity)null, intent, -1, options); }
避免这种异常的办法是设置flag为NEW_TASK或者被启动的Acitivty启动模式设置为singleTask/singleInstance。
为什么呢,个人认为和Activity栈有关,非Activity不需要栈,所以在启动Activity的时候需要保证有创建好的栈,所以需要设置Flag或者启动模式。
0 0
- 非Activity下跳转Activity的问题
- android在非Activity下,intent页面跳转问题
- 全屏跳转到非全屏Activity的问题
- 全屏activity跳转非全屏activity页面抖动问题的解决
- 如何从非Activity跳转到Activity
- activity 跳转问题。
- activity页面跳转问题
- Activity跳转问题
- Activity 连续跳转问题
- Activity的生命周期以及两个activity之间跳转的问题
- Activity的生命周期,activity跳转到activity
- TabActivity中子Activity的跳转问题
- 不同包里面activity跳转的问题
- Fragment和Activity跳转的问题
- 关于fragment跳转activity的回传值问题
- Activity的环型跳转问题
- Activity跳转到Fragment的问题
- 非Activity中使用startActivity的问题
- 递归生成格雷码 gray code generation using recursion(c++)
- 项目运行Conversion to Dalvik format failed with error
- Linux目录结构
- Web前端-JS效果-网站首页+图片自动播放、切换等效果
- bowtie和bowtie2用法详解
- 非Activity下跳转Activity的问题
- App开放接口api安全性—Token签名sign的设计与实现
- Android VPN 编程
- 剑指Offer系列-面试题35:第一个只出现一次的字符
- python学习笔记(3):数据类型
- 使用maven-war-plugin 对Maven项目进行动态打包
- linux笔记
- c++ 模板 vector<T>::const_iterator报错
- 使用FFmepg,ProcessBuilder 和 Runtime在Linux的工具类