安卓页面跳转使用Context.startActivity注意事项
来源:互联网 发布:git ignore linux 编辑:程序博客网 时间:2024/05/17 00:51
因是:
Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用 Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是,加一个flag。intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
修改后代码如下:
Intent intent = new Intent();intent.setClass(mContext, PhotoView.class);Bundle bundle = new Bundle();intent.putExtras(bundle);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); mContext.startActivity(intent);
参考文章:http://www.cnblogs.com/shaweng/archive/2012/06/29/2570394.html
这个是我写在Util工具类的一个方法,用于SetttingActivity extends BaseActivity这个页面调用的,我在基类里面重新写了startActivity方法
1.如果我给context传递的对象是SetttingActivity.this 这个对象,实际上调用的就是SettingActivity的startActivity的方法,也就是到它的基类里面的startActivity方法(已经验证)
2.如果我给conetxt传递的对象是app Conetxt 全局对象,实际上也并不是一个SettingActivity对象了,那么它就调用不到它的基类里面的startActivity方法了(已经验证)
public static void startAboutActivity(Context context){ Intent intent3 = new Intent(context, AboutActivity.class); try { intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent3); }catch (Exception e){ e.printStackTrace(); }}
1 0
- 安卓页面跳转使用Context.startActivity注意事项
- Android使用Webview显示页面以及点击跳转startActivity问题
- 安卓页面跳转
- 安卓页面跳转
- 安卓显示页面跳转
- 安卓开发页面跳转
- 安卓页面跳转 初级
- 安卓页面跳转-Intent
- context使用startActivity时的错误
- android使用Intent实现页面跳转--startActivity()与startActivityForResult()
- 安卓页面点击跳转intent
- 实现安卓页面的跳转
- 安卓入门--Activity跳转页面
- 部分安卓机型 页面无法跳转
- Android(安卓)页面跳转
- 安卓开发工具类-页面跳转
- 安卓使用cookie注意事项
- 安卓 ConText 的使用与理解
- java.util.random中nextFloat()取值问题
- 阿里云配置php+mysql
- java命令中-d32和-d64的含义
- js定时器timer
- 九宫格--xib,MVC封装
- 安卓页面跳转使用Context.startActivity注意事项
- keepalived不抢主
- kernel painic not syncing
- license security violation. operation is not allowed
- linux下改变文件/文件夹所属用户或群组
- Spring MVC 常用Jar包官方下载地址(官方Maven仓库)
- 证券基础--股票的故事
- linux下启动和关闭网卡命令
- loadrunner WebTours文件夹下没有run.bat