zoukankan      html  css  js  c++  java
  • Android学习笔记Intent二

    上篇随笔大概写了了Intent学习的大纲,这篇通过代码理解下Intent的ComponentName属性的使用
    ComponentName,中文意思是组件名称,通过Intent的setsetComponent方法可以启动一个Activity或者服务。

    实例化一个ComponentName需要两个参数,第一个参数是要启动应用的包名称,这个包名称是指清单文件中列出的应用的包名称:

    另外一个参数是要启动的Activity或者Service的类全名:

        Intent intent = new Intent();
        ComponentName componentName = new ComponentName("com.example.demo20200424", "com.example.demo20200424.DetailActivity");
        intent.setComponent(componentName);
        startActivity(intent);
    

    这样我们就启动了Activity了。
    那么这种方式和平常习惯用的:

        new IntentActivity(MainActivity.this,DetailActivity.class);
        ...
    

    有什么区别呢?通过打开IntentActivity(MainActivity.this,DetailActivity.class);的源码我发现,原来底层就是一个setComponent(componentName):

    所以两者直接是没有区别的。

    注意
    普通Activity或者Service需要在AndroidManifest.xml设置 exported = true
    入口Activity不需要的原因是,默认exported = true

  • 相关阅读:
    操作系统---学习笔记00
    操作系统---学习笔记0
    2015/07/16入园啦!
    1-1 console的用法
    2.3 js基础--DOM
    1.2 js基础
    1.1 js基础
    信息收集(1)
    Android概述
    从一次失败的比赛经历引发的思考
  • 原文地址:https://www.cnblogs.com/lzpq/p/12793916.html
Copyright © 2011-2022 走看看