zoukankan      html  css  js  c++  java
  • Android显式和隐式Intent的区别和方式

    intent总共分显示intent和隐式intent

    一、显式ntent

    显式的意思是指可以直接指定需要打开的Activity对应的Java的类,参考csdn

    1.构造方法里直接传入Component,最常见
    Intent intent = new Intent(this, SecondActivity.class);
    startActivity(intent);
    
    2、setComponent方法
    ComponentName componentName = new ComponentName(this, SecondActivity.class);
    // 或者ComponentName componentName = new ComponentName(this, "com.example.app016.SecondActivity");
    // 或者ComponentName componentName = new ComponentName(this.getPackageName(), "com.example.app016.SecondActivity");
     
    Intent intent = new Intent();
    intent.setComponent(componentName);
    startActivity(intent);
    
    3.setClass/setClassName方法
    Intent intent = new Intent();
     
    intent.setClass(this, SecondActivity.class);
    // 或者intent.setClassName(this, "com.example.app016.SecondActivity");
    // 或者intent.setClassName(this.getPackageName(), "com.example.app016.SecondActivity");
    		
    startActivity(intent);
    

    总结

    显式Intent通过Component可以直接设置需要调用的Activity类,可以唯一确定一个Activity,意图明确,所以被称为显式。设置这个类的方式可以是
    Class对象,也可以是包名加类名的字符串。
    

    二、隐式

    隐式,即不是想显式的那样直接指定需要调用的Activity类,隐式不明确指定启动那个Activity,而是设置Action、Data、Category,让系统来筛选出合适的Activity。筛选是根据所有的来筛选。

  • 相关阅读:
    LeetCode 876. 链表的中间结点
    顺序表的定义及其相关基本操作
    LeetCode 206. 反转链表
    LeetCode 111. 二叉树的最小深度
    LeetCode 700. 二叉搜索树中的搜索
    LeetCode 104. 二叉树的最大深度
    LeetCode 908. 最小差值 I
    LeetCode 728. 自除数
    LeetCode 704. 二分查找
    LeetCode 852. 山脉数组的峰顶索引 (二分)
  • 原文地址:https://www.cnblogs.com/wlxtuacm/p/11288134.html
Copyright © 2011-2022 走看看