Android中的Intent(显示隐式)

news/2025/3/14 16:40:01/

Android中的Intent(显示&隐式)

  • 显示Intent
    显示Intent是明确目标Activity的类名

    1. 通过Intent(Context packageContext, Class<?> cls)构造方法
      Intent intent = new Intent(this, SecondActivity.class)
      startActivity(intent);
      
    2. 通过Intent的setComponent()方法
      ComponentName componentName = new ComponentName(this, SecondActivity.class);
      ComponentName componentName = new ComponentName(this, "com.example.SecondActivity");
      ComponentName componentName = new ComponentName(getPackageName(), "com.example.SecondActivity");Intent intent = new Intent();
      intent.setComponent(componentName);
      startActivity(intent);
      
    3. 通过Intent的setClass/setClassName方法
      Intent intent = new Intent();
      intent.setClass(this, SecondActivity.class);
      intent.setClassName(this, "com.example.SecondActivity");
      intent.setClassName(getPackageName(), "com.example.SecondActivity");
      startActivity(intent);
      
      其实setClass/setClassName方法底层调用的还是setComponent方法,只是对setComponent方法进行封装了下。
  • 隐式Intent
    隐式Intent通过设置Action、Data、Category,让系统来筛选出合适的Activity。筛选是根据所有的来筛选。

    <intent-filter><action android:name=“com.example.second”/><category andorid:name="android.intent.category.DEFAULT"/>
    </intent-filter>
    
      Intent intent = new Intent("com.example.second");startActivity(intent);如果应用代码中action的android:name与系统的冲突了,比如都为<action android:name=“android.intent.action.DIAL”/>(即系统为打电话的应用),则启动该intent的时候会有出现一个弹框,包含系统打电话的应用和用户自定义的Activity同时出现,让用户自己去选择启动哪个Activity。
    

  一般在开发过程中,如果是同项目的采用显示Intent;如果创建一个Activity是供外包使用的,则创建隐式Intent


http://www.ppmy.cn/news/243411.html

相关文章

NLP的idea,看了就能水一篇论文

1.问题 在中文情感分析任务中,已有方法仅从单极、单尺度来考虑情感特征&#xff0c;无法充分挖掘和利用情感特征信息&#xff0c;模型性能不理想。 单级单尺度&#xff1a;只从一个方面学习文本的特征 多级多尺度&#xff1a;应该是分别从不同方面学习文本的特征&#xff0c…

一键提升分辨率,呈现更清晰、更细腻的视觉盛宴

牛学长视频修复工具是一款使用AI技术对你的视频分辨率就行调整放大清晰的软件&#xff0c;最高支持8K超高清。 现如今&#xff0c;视频成为人们记录生活、表达创意的重要方式之一。然而&#xff0c;我们常常遇到一个问题&#xff1a;旧有的视频素材分辨率低&#xff0c;画质模…

priority_queue的模拟实现和仿函数

priority_queue模拟 首先查看源代码&#xff0c;源代码就在queue剩下的部分中 push_heap是STL库中的堆算法&#xff0c;STL库中包装有支持堆的算法&#xff0c;在algorithm.h中&#xff1a; 只要不断用堆的形式插入数据&#xff0c;就会形成堆。 priority_queue模拟——初版 pr…

网络协议——STP协议是什么?是如何实现的?

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 目录 一、STP协议是什么 二、为什么需要STP协议 三、STP的实现过程 ​编辑 1、选举跟桥 2、给非跟桥交换机选举跟端口 3、给每个网段选…

正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)失败:未知的名称或服务。wget无法解析主机地址

网络问题&#xff1a;做个记录 我这边是更改了链接方式没有问题了就因为之前安装时使用的是nat方式 后来未关机的情况下改成了桥连接出现的问题。ping不通www.baidu.com

CP2102和CP2104的区别

主要区别&#xff1a; 1. CP2104更便宜。 2. CP2104体积更小&#xff0c;占地面积不同。CP2104是QFN24&#xff08;4x4mm&#xff09;; CP2102是QFN28&#xff08;5x5mm&#xff09;。 3. CP2104具有 I/O 电源引脚&#xff0c;可通过外部电阻承受VDD至5V的电压。 4. CP2104支持…

413_J1

<template><div><div class"selectDiv"><div style"margin: 0 10px">违规数量类型:</div><el-select v-model"value1" placeholder"请选择" size"mini" change"selectChange"&g…

413_J5

<template><div><div class"selectDiv"><div style"margin: 0 10px">三级单位巡检产生的违规巡检数量:</div><el-date-picker v-model"value" type"date" placeholder"选择日期" size&quo…