Activity的几种启动方式

以下内容整理自互联网,仅用于个人学习


1. Intent可传递如下几种类型数据

  • 八大基本类型及其对应的数组,CharSequence(String)及其数组
  • 传递一个Bundle
  • 传递Serializable对象
  • Parcelable及其对应数组
  • Intent
  • ArrayList,泛型参数类型为:<Integer>、<? Extends Parcelable>、<Charsequence>、<String>

2. 使用Intent启动Activity的几种方式

2.1 直接通过class对象

Intent intent = new Intent(this, SecondActivity.class); 
startActivity(intent);

2.2 通过包名+类名

Intent intent = new Intent(); 
//第一个参数是包名称,第二个参数是要启动的类的全限定名称 
intent.setClassName("com.ljr.example.test", "com.ljr.example.test.SecondActivity"); 
startActivity(intent);

2.3 通过包Context+类名

Intent intent = new Intent(); 
//第一个参数是包Context,可以直接传入Activity即可,第二个参数是要启动的类的全限定名称 
intent.setClassName(this, "com.ljr.example.test.SecondActivity"); 
startActivity(intent);

2.4 通过ComponentName

Intent intent = new Intent(); 
//第一个参数是包名称,第二个参数是要启动的类的全限定名称 
ComponentName cn = new ComponentName("com.ljr.example.test", "com.ljr.example.test.SecondActivity"); 
intent.setComponent(cn); 
startActivity(intent);

2.5 通过隐式方式

Intent intent = new Intent(); 
intent.addCategory(Intent.CATEGORY_DEFAULT); 
intent.addCategory("com.ljr.example.second"); 
intent.setAction("com.ljr.example.action"); 
startActivity(intent);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • activity有4种不同的启动方式,并且启动效果也各不一样,好记性不如烂笔头,写下来加强印象吧! Standar...
    JeremyDai阅读 3,375评论 0 4
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,858评论 0 17
  • 1、Intent 可以传递的数据类型 在 Intent和IntentFilters(1) 中我们知道了通过 Int...
    CnPeng阅读 7,908评论 0 10
  • 上篇文章介绍了IPC机制的基本概念以及简单使用,文章链接:Android 关于IPC机制的理解(一) 这篇文章主要...
    老实任阅读 4,174评论 0 2
  • 儿子吃过退烧药以后,很快就睡着了。我就坐在他床头的边上看着他,看着他慢慢开始出汗,就给他擦汗,等到体温降下来了,就...
    我是我的光阅读 2,372评论 1 0

友情链接更多精彩内容