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

  • 相关阅读:
    gif&png&jpg&webp
    设计点滴&css效果点滴
    backbone点滴
    js自己总结的小东西(打印出来方便学习)
    nodejs点滴
    js类型
    mongo学亮的分享
    npm package.json中的dependencies和devDependencies的区别
    161130、Dubbo+SpringMVC工程创建详解
    161129、详解5种跨域方式及其原理
  • 原文地址:https://www.cnblogs.com/lzpq/p/12793916.html
Copyright © 2011-2022 走看看