美文网首页
Activity的几种启动方式

Activity的几种启动方式

作者: 学不好语文的LJ码农 | 来源:发表于2016-12-10 14:24 被阅读13次

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


    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);
    

    相关文章

      网友评论

          本文标题:Activity的几种启动方式

          本文链接:https://www.haomeiwen.com/subject/tixumttx.html