android中intent实例,Android开发中,常用到的Intent例子

一:结束Actvity的方法

都知道,结束一个当前Activity有四种方法:

//关闭当前activity方法一

finish();

//关闭当前界面方法二

android.os.Process.killProcess(android.os.Process.myPid());

//关闭当前界面方法三

System.exit(0);

//关闭当前界面方法四

this.onDestroy();

其中最常用到也是最安全的方式应该是finish()方法;这是结束当前Activity的一般使用的方法,但如果已经启动了四个Activity:A,B,C和D,这时候在D Activity里,想再启动一个Activity B,但不变成A,B,C,D,B,而是希望是A,B,而且B上的数据依然保留

Intent intent = new Intent();

intent.setClass(D.this, B.class);

intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);//设置不要刷新将要跳到的界面

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//它可以关掉所要到的界面中间的activity

startActivity(intent);

如果已经启动了四个Activity:A,B,C和D,在D Activity里,想再启动一个Activity B,但不变成A,B,C,D,B,而是希望是A,B,而且B上的数据不保留

Intent intent = new Intent();

intent.setClass(D.this, B.class);

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//它可以关掉所要到的界面中间的activity

startActivity(intent);

需要注意的是:A的Manifest.xml最好配置成android:launchMode="singleTop",一般A是程序的入口点,从D回到A的activity,加入标识Intent.FLAG_ACTIVITY_CLEAR_TOP这个过程中会把栈中B,C,都清理掉。因为A是android:launchMode="singleTop"

不会调用oncreate(),而是响应onNewIntent()这时候判断Intent.FLAG_ACTIVITY_CLEAR_TOP,然后把A finish()掉。

栈中A,B,C,D全部被清理。所以整个程序退出了。

如果已经启动了四个Activity:A,B,C和D,在D Activity里,想再启动一个 Activity B,但不变成A,B,C,D,B,而是希望是A,C,D,B,则可以像下面写代码:

Intent intent1 = new Intent(TableActivity.this, FrameActivity.class);

intent1.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

startActivity(intent1);

二:使用Intent调用系统服务:(拨号/发短信)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值