[精]Activity 的IntentFilter

【SpringBoot 3.x 第43节】你还敢说 Spring 启动慢是“宿命”?Spring AOT 把启动剧本都提前写死了,你服不服? 🏆本文收录于《滚雪球学SpringBoot 3》,专门攻坚指数提升,本年度国内最系统+最专业+最详细(永久更新)。 阅读详情

IntentFilter 使用来过滤意图Intent的,就是你是什么意图对应什么activity

0: 如果找到了只有一个会直接跳转

1: 如果一个意图对应了多个activity,那么会有一个选择框

2: 如果找不到对应的activity 那么会报错❌,

这个时候我们最好使用PackageManager 里面的queryIntentActivities 或者是resolveActivity 来进行一层判断


        //查看是否有这个activity,如果有再startactivity 没有的话,那么直接就
        PackageManager packageManager = getPackageManager();
        //注意这里的match 要选择MATCH_DEFAULT_ONLY, 这个是我们默认的 Intent.CATEGORY_DEFAULT

        List<ResolveInfo> resolveInfos = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
        //ResolveInfo resolveInfo = packageManager.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);

        for (int i = 0; i < resolveInfos.size(); i++) {
            Log.d("kodulf","i = " + i + " resolveInfos + " + resolveInfos.get(i).activityInfo);
        }

        if(resolveInfos.size()>0)
            startActivity(intent);
        else
            Log.d("kodulf","  no activity");

 

具体的怎么匹配的:IntentFilter 的三个组成部分详解:

data:

<activity android:name=".ThirdActviity">
            <intent-filter>
                <action android:name="aa.bb.cc.dd" />
                <action android:name="aa.bb.cc.dd.ee" />
                <action android:name="aa.bb.cc.dd.ee.ff" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="test" />

                <data
                    android:host="www.kodulf.com"
                    android:path="/mypath"
                    android:port="8888"
                    android:scheme="lee"
                    android:mimeType="abc/xyz"/>

            </intent-filter>
        </activity>

intent 里面设置

        intent.setDataAndType(Uri.parse("lee://www.kodulf.com:8888/mypath"),"abc/xyz");

 

设置了的data和type可以通过intent 来获取

 

package bjpkten.activityintentfilterdemo;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class ThirdActviity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_third_actviity);
        Intent intent = getIntent();
        //type
        String type = intent.getType();
        // data
        Uri data = intent.getData();
        String dataString = intent.getDataString();

    }
}

 

参考:https://www.cnblogs.com/wolipengbo/p/3427574.html

【毕业设计】基于雷达与深度学习的摔倒检测——雷达数据集处理 雷达原始数据是时域非平稳信号,快速傅里叶变换(Fast Fourier Transformation, FFT)不能很好地提取微多普勒效应的模式特征。因此短时傅里叶变换(Short Time Fourier Transformation, STFT)被应用于雷达信号的时频谱分析。本文主要介绍雷达数据集的预处理过程,包括时频谱图的中值滤波与 SVD 分解。 阅读详情

相关推荐

Linux 常用命令大全(2025 最新版)

掌握这些命令,你已能应对80% 的 Linux 日常操作!更多高级技巧(如crontab定时任务、iptables防火墙配置)可参考手册(man 命令名)或官方文档。实践是学习命令的最佳方式,建议在虚拟机或云服务器中多动手操作!

2302_79600390的博客 1896

四大组件之(一)Activity-Intent Intentfilter

Intent是一个消息传递对象,您可以使用它从其他应用组件请求操作。尽管 Intent 可以通过多种方式促进组件之间的通信,但其基本用例主要包括以下三个: 启动 Activity: Activity表示应用中的一个屏幕。通过将Intent传递给startActivity(),您可以启动新的Activity实例。Intent描述了要启动的 Activity,并携带了任何必要的数据...

binglan520的专栏 665

操作系统笔记(含王道计算机考研——操作系统课件)

操作系统(OS) 笔记根据B站王道计算机考研——操作系统视频整理所得,视频链接:https://b23.tv/0I2qex 视频中所用课件:链接:https://pan.baidu.com/s/101bFWm0Tv0emNpEneidYPA 提取码:y3dd 1.计算机系统概述 1.简介 什么是操作系统? 操作系统(Operating Ststem, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是

拧发条鸟的博客 6万+

【Android Activity】IntentFilter的匹配规则

三、intentFilter的匹配规则: 1、一个activity下可能有多个intentfilter,一个intent只要能匹配任何一组intentFilter下的信息便可成功启动activity。 2、一个intentFilter中action 、category、data都可以有多个。但是intent只需要匹配出一组即可。 8.1、启动activity的方式: 显示调用 明确指定被启动activity的组件信息,即包名类名。 隐式调用 需要指明被启动activity的intentFilter下

dev晴天的博客 2117

PCI Express 权威指南:从协议原理到芯片实现

目录 全文总览第一部分:PCIe体系结构概览第1章 互连技术的演进与PCIe的诞生1.1 从ISA到PCI:并行总线的辉煌与瓶颈1.2 PCI-X的尝试与局限1.3 串行革命:从AGP、PCI到PCIe的范式转移1.4 PCIe的核心优势第2章 PCIe系统全局视角2.1 系统拓扑:Root Complex, Switch, Endpoint的职能与关系2.2 拓扑结构实例:服务器、工作站、嵌入式系统2.3 枚举与配置:系统如何发现和组织PCIe设备2.4 地址空间第3章 PCIe协议分层架构3.1 分层模

qq_42882296的博客 2894

Twincat Scopeview录波中的Ringbuffer设置技巧与常见问题解决

本文深入解析了倍福Twincat Scopeview录波功能中Ringbuffer(环形缓冲区)的核心设置技巧与常见问题解决方案。针对数据丢失、触发时机不准等痛点,详细阐述了缓冲区大小、预触发样本、采样率等关键参数的优化配置,并提供了多通道同步、自动诊断等实战应用指南,帮助工程师高效捕捉和分析PLC数据。

rainy的博客 845

浅谈从Activity到intent-filter(意图过滤器 )的属性分析

Activity通常展现为一个可视化的用户界面,可把它当做就是一个单独的屏幕,可视化内容区域是一些具有层次关系(类似数据结构的树)的视图(均由View类的子类表示),每个视图控制窗口中的一个矩形区域,父视图包含一些子视图并管理子视图的布局,内容视图是视图层次结构中的根节点视图直接响应用户的动作,因此视图(ps:按我目前的理解视图相当于是一些控件,es:按钮,文本域,滚动条,菜单,复选框等)是Act...

NCTU_to_prove_safety的博客 675

单片机通信总述——理论部分(CAN、串口、SPI、I2C等)

并行通信:传输原理:数据各个位同时传输;优点:速度快; 缺点:占用引脚资源多。是指使用 8、16、32 及 64 根或更多的数据线(有多少信号为就需要多少信号位)进行传输的通讯方式,可以同一时刻传输多个数据位的数据。串行通信: 传输原理:数据按位顺序传输;优点:占用引脚资源少; 缺点:速度相对较慢。是指设备之间通过一根数据信号线,地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,同一时刻只能传输一位(bit)数据。 单工: 数据传输只支持数据在一个方向上传输。信息只能单方向传输的工作方式,一

qq_42475191的博客 1万+

3.1、组件activity_intent、intent-filter、Context详解

源码地址:https://github.com/ldy1993/ToolforAS.git 这一节,我们尽量理解activity_intent、intent-filter、Context的原理。如果是初学者可以了解一下AndroidManifest.xml中activity标签下intent-filter对启动activity的意义。 1.1、activity的启动方式和意图 ...

刘东阳的博客 1501

如何使用Dify 搭建一个用自然语言查询数据库的 Agent?

这样就会发布完毕。

AI Agent 首席体验官 1699

国内网络环境下Calico v3.26.4安装避坑指南(附华为云镜像加速脚本)

本文为国内开发者提供Calico v3.26.4的高效部署指南,重点介绍如何通过华为云镜像加速服务解决Kubernetes集群网络插件镜像拉取问题。文章包含详细的镜像加速脚本、部署清单修改方法及深度排错技巧,帮助开发者快速完成Calico网络插件的安装与配置。

brown的博客 288

Activity的IntentFilter匹配规则

@读书笔记  我们知道,启动Activity分为两种方式,显示调用和隐式调用。显示调用需要明确的指定被启动对象的组件信息,包括包名和类名,而隐式调用需要Intent能够匹配目标组件的IntentFilter中所设置的过滤信息,如果不匹配将无法启动目标Activity. IntentFilter中的过滤信息有 - action - category - data过滤规则的示例如下: <acti

Simon_night的专栏 577

工作之余的随想:AI 会终结 SAP 顾问吗?

本文是笔者工作之余的一些胡思乱想。昨晚(准确的说是今日凌晨),我又熬了一个夜。没办法,接到一个影响客户项目上线的紧急 incident,花了我好长时间,竟然一点头绪都没有。苦苦思索的过程,时间过得飞快。一转眼就晚上11:30 了。要说我 2007 年还在研三实习期间,就进入了 SAP 行业,到今天已经摸爬滚打 18 年了,按理说也算身经百战了,可以说处理过很多 SAP 客户使用系统时遇到的各种稀奇古怪的问题。但即便这样,我也时常在工作中遇到一开始感到无从下手的问题。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1264

Intent以及IntentFilter详解

在Android中有四大组件,这些组件中有三个组件与Intent相关,可见Intent在Android整个生态中的地位高度。Intent是信息的载体,用它可以去请求组件做相应的操作,但是相对于这个功能,Intent本身的结构更值得我们去研究。

王三的专栏 4万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Android 隐式启动Activity方式之IntentFilter匹配规则

显示调用Intent intent1 = new Intent(MainActivity.this, MainActivity.class); startActivity(intent1);需要明确指定被调用对象的组件信息,包括包名和类名。隐式调用需要Intent能够匹配目标组件的IntentFilter中设置的过滤信息,如果不匹配则无法启动目标Activity1.    IntentFliter...

callmeL的博客 1742

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android里Activity的IntentFilter匹配规则

Activity的启动方式 显式启动 显示方式就是在通过intent启动Activity时指定了Activity的包名和类名,而且不管启动本应用的Activity还是启动其他应用的Actitity 例如:要启动的Activity是同一个项目之中: Intent intent = new Intent(context, MyActitity.class); startService(int...

子云心的博客 7279

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Activity--IntentFilter的匹配规则

action的匹配规则是,intent-filter中至少要有一个action可以有多个action,只要intent中一个action和intent-filter的action相同就匹配成功(字符串相同)。一个activity中可以有多个intent-filter,一个intent-filter中,action、category、data也可以有多个,一个intent只要能匹配任何一种intent-filter就能启动activity。我们知道,启动activity分为两种,显示调用和隐式调用。

优快云Justinma的博客 655

Activity的启动模式及IntentFilter匹配规则总结

android的启动模式是在我们日常开发中经常用使用到,这个也是在面试用经常问到的一个问题。虽然我们对他很熟悉,但也会有些地方了解的太全面,因此写篇文章来来总结这方面的知识。文章主要内容来自《android开发艺术探讨》这本书,在文章的最后这本书的网页版本可供查看。 项目源码 目录 四中启动模式 什么是任务栈 Activity如何指定需要的任务栈 TaskAffinity使用场景 Activi...

weixin_34242658的博客 327

【Android】深入理解Activity的生命周期和IntentFilter

IntentFilter即”意图过滤器“,只有IntentFilter中的action,category,data都匹配时,才能成功启动目标Activity。当Intent 中所有的 Category 在 Filter 中有声明,即 Intent 的 Category 集合是 Filter 的 Category 集合的子集时,匹配成功。Intent 中携带的每一个 Category,都必须能在 Filter 声明的 Category 列表中找到。和Action不同的是,Intent可以通过。

2302_79323248的博客 1205

Android开发——IntentFilter的匹配规则

1.IntentFilter中的过滤信息 启动Activity分为显式调用和隐式调用,前者没什么好讲的,后者需要Intent能够匹配目标组件的IntentFilter中所设置的过滤信息。包括action、category、data。 一个Activity中可以有多个IntentFilter,一个Intent只要能匹配任何其中一组IntentFilter即可成功启动该Activity。...

关于Android开发的一些技术点总结 ╮( ̄▽ ̄”)╭ 1万+

Intent和IntentFilter详解

Intent   Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,Intent在

CNnumen 8万+

android IntentFilter详解

1.由一个问题引发的思考:对于启动一个广播,静态注册一个广播,intent-filter中什么也不设置,在发送广播中对intent也不设置,是否可以匹配到?写代码验证,直接编译不通过: Missing one of the key attributes 'action#name,category#name' on element intent-filter at AndroidManifest.x...

ddd5678的博客 8235

Activity的生命周期、启动模式、IntentFilter、Flags

1、Activity的生命周期的解析: 1、典型情况下的生命周期 2、异常情况下的生命周期 典型情况:是指在有用户参与的情况下,Activity所经过的生命周期的改变; 异常情况:是指Activity被系统回收或则由于当前设备的Configuration发生改变从而导致Activity被销毁重建。 在正常情况下的生命周期分析: 1、onC

酱紫的博客 611

IntentFilter启动Activity

第一个Activity程序清单 package com.demo.intentfiltertest; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.Menu; im

wilu22的博客 589

Android Activity生命周期、启动模式、Flags、IntentFilter

Activity直译为活动,在Android开发中,译为界面可能更便于理解。作为使用最频繁的四大组件之一,了解其生命周期有助于我们在实际开发中写出优秀的代码。 一、正常情况下的生命周期 ...

lidayingyy的博客 480

android 多个 intentfilter,Android 中IntentFilter的匹配规则实例详解

IntentFilter的匹配规则IntentFilter的使用假如我们要隐式启动一个Activity我们需要成功匹配activity中的任意一个intent-filter。如果要成功匹配该intent-filter我们需要完全匹配该intent-filter中的 action、category、data。示例:如果activity的过滤列表如上配置,我们在设置intent的参数时需要同时满足ac...

weixin_39610488的博客 900
上一篇: [精]Android merge 和 include 的使用
下一篇: Android自定义Activity切换动画完全解析
千雅爸爸
博客等级 码龄18年 292粉丝 639原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值