android之android.intent.category.DEFAULT的用途和使用

android自定义桌面应用 这篇文章主要讲下自定义桌面应用.效果主要是调用packageManager来获取当前所有的程序,并在自定义桌面程序中展示,并支持跳转. 阅读详情

1、要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent。

     Explicit Intent明确的指定了要启动的Acitivity ,比如以下Java代码:

[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. Intent intent= new Intent(this, B.class);  

 Implicit Intent没有明确的指定要启动哪个Activity ,而是通过设置一些Intent Filter来让系统去筛选合适的Acitivity去启动。

2、intent到底发给哪个activity,需要进行三个匹配,一个是action,一个是category,一个是data。

理论上来说,如果intent不指定category,那么无论intent filter的内容是什么都应该是匹配的。但是,如果是implicit intent,Android默认给加上一个CATEGORY_DEFAULT,这样的话如果intent filter中没有android.intent.category.DEFAULT这个category的话,匹配测试就会失败。所以,如果你的 activity支持接收implicit intent的话就一定要在intent filter中加入android.intent.category.DEFAULT。

例外情况是:

[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <intent-filter>  
  2.         <action android:name="android.intent.action.MAIN" />  
  3.         <category android:name="android.intent.category.LAUNCHER" />  
  4.     </intent-filter>  


中没有必要加入android.intent.category.DEFAULT,当然加入也没有问题。这个是应用启动默认的第一个启动的activity(每个应用有那么多activity,总得有一个是第一个启动的吧)

 

如果自己定义的某个Activity要通过隐式启动,在AndroidManifast.xm那么必须加上android.intent.category.DEFAULT,否则不起作用

除此之外,category的用途还有很多

比如做个桌面,按home键时启动自己做的应用

[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <activity  
  2.             android:name=".MainActivity"  
  3.             android:label="@string/app_name" >  
  4.             <intent-filter>  
  5.                 <action android:name="android.intent.action.MAIN" />  
  6.                 <category android:name="android.intent.category.LAUNCHER"/>  
  7.                 <category android:name="android.intent.category.HOME" />  
  8.             </intent-filter>  
  9.         </activity>  

在intent中是如何配置那三个匹配数据的呢,也简单一说

也就是说,在不直接指定要跳转的Activity的时候,为Intent提供一些相关的参数,让其自动去和AndroidManifest.xml中已有的Activity去匹配

IntentFilter在xml中的三個主要的参数:action,categary,data。

我们通过Intent的构造函数或者Intent提供的方法可以指定这个三个参数:    


[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. intent.setAction(action);intent.setData(data);intent.addCategory(category);  
  2. intent.setAction(action);  
  3. intent.setData(data);  
  4. intent.addCategory(category);  
android.intent.category.DEFAULT的用途以及使用 implicit(隐藏) intent ,explicit(明确) intent。 Explicit Intent明确的指定了要启动的Acitivity ,比如以下Java代码: Intent intent= new Intent(this, B.class); Implicit Intent没有明确的指定要启动哪个Activity ,而是通过设置一些Intent Filter来让(acti... 阅读详情

相关推荐

android各组件详解- Intent.

android各组件详解- Intent.

android.intent.category.DEFAULT的用法和解释

android.intent.category.DEFAULT的用法和解释 首先我们要知道什么是显示Intent Intent intent=new Intent(MainActivity.this,SecondActivity.class); 和隐式Intent Intent intent=new Intent(); intent.setAction("tangtang"); 显示Intent能够很明显地看出它的意图,而隐式Intent没有明确的指定要启动哪个Activity ,而是通过设置一些Int

m0_53195006的博客 7296

Proteus 8.17安装部署全指南:避坑、汉化与STM32库配置

Proteus是一款广泛用于单片机仿真与电路设计的EDA工具,其核心价值在于支持嵌入式系统原型验证与教学实践。Proteus 8.17版本重构了许可证机制(LIC Engine)、依赖环境(VC++ 2019/NET 4.8)及路径加载逻辑,导致传统安装方法失效。掌握正确安装部署流程,是保障原理图绘制、VSM仿真(如51/STM32/ESP32)及外设波形观测(OLED、SPI、ADC)稳定运行的前提。本文聚焦Windows平台下零失败安装路径选择、权限配置、汉化实施与高频器件(如STM32F103)元件库

weixin_33377602的博客 402

Android开发-如何判断当前页面是否是桌面(Home)

在Android系统中,任何一个可见的界面都属于一个应用程序,桌面也是一个应用程序。例如,我们通常打开手机看到的第一个界面就属于桌面应用。Android系统会自带一个桌面应用,这个桌面App是系统App。同时,也有人(或公司)会开发第三方桌面应用,这类属于用户App,例如,Go桌面,点心桌面,MiUi的桌面。...

记录和分享程序人生的点点滴滴 4914

群晖Hyper Backup还原实战:加密与非加密备份的完整操作指南

本文详细介绍了群晖Hyper Backup在加密与非加密备份场景下的完整还原操作指南。通过实战案例和高级技巧,帮助用户应对硬盘故障或系统崩溃时的数据恢复挑战,特别是加密备份恢复中的关键节点和常见陷阱。

weixin_29323365的博客 440

Matlab安装Embedded Coder Support Package for Texas Instruments C2000 Processors教程

Matlab安装Embedded Coder Support Package for Texas Instruments C2000 Processors

m0_69133594的博客 2835

Android 之 android.intent.category.DEFAULT 的用途以及如何使用

文章目录前言先说用途隐式 Intent 和显式 Intent显式 Intent隐式 Intent如何通过 Intent 找到具体的 Activity总结category 其他用途参考 前言 做了多年 Android 开发的你,如果有人问你,android 之 android.intent.category.DEFAULT 的作用是什么,你会回答上来么。 如果不会,就可以看看这一篇文章。 先说用途 如果你的 activity 支持接收 implicit intent(隐式 Intent)的话就一定要在 int

记录移动开发相关的知识 3632

NOAA气象数据下载攻略

各方搜寻气象数据下载途径,发现网上最多的就是从NOAA下载,但是中途有尝试过很多次都没有下载到,每次都是显示不可用,今天终于下载成功了,特此记录。 首先我是从这个网址进入的:National Centers for Environmental Information (NCEI) formerly known as National Climatic Data Center (NCDC) | NCEI offers access to the most significant archives of oc

lianqian66的博客 3万+

android.intent.category.default设置,android之android.intent.category.DEFAULT的用途和使用

1、要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent。Explicit Intent明确的指定了要启动的Acitivity ,比如以下Java代码:Intentintent=newIntent(this,B.class);Implicit Intent没有明确的指定要启动哪个Activity ,而是通过设置一些Intent...

weixin_39790738的博客 330

大华摄像头GB28181协议接入EasyCVR全流程(附常见错误排查)

本文详细阐述了大华摄像头通过GB28181协议接入EasyCVR视频管理平台的全流程,涵盖从核心原理、前期参数规划、Web界面配置到平台侧验证的完整步骤。重点针对网络端口、SIP参数配置等关键环节提供了深度排错指南,并总结了设备无法注册、在线不稳定、拉流失败等常见问题的排查思路与解决方案,旨在帮助安防工程师与系统集成商高效完成设备接入与调试。

weixin_29279153的博客 310

TongWeb微服务部署实战:Nacos注册与网关路由的疑难解析

本文分享了将Spring Cloud微服务迁移至TongWeb应用服务器时,解决Nacos服务注册失败与Spring Cloud Gateway路由失效的实战经验。针对Nacos注册问题,通过实现ApplicationRunner接口并利用JMX获取容器端口,实现了手动注册;针对网关路由问题,建议将基于WebFlux的Gateway模块改为JAR包独立部署,以保障其原生运行环境。文章为在TongWeb上进行微服务部署提供了关键的问题排查思路与混合架构部署的最佳实践。

weixin_29209801的博客 240

android.intent.category.default 作用,android之android.intent.category.DEFAULT的用途和使用

1、要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent。Explicit Intent明确的指定了要启动的Acitivity ,比如以下Java代码:Intentintent=newIntent(this,B.class);Implicit Intent没有明确的指定要启动哪个Activity ,而是通过设置一些Intent...

weixin_34185033的博客 253

【Envi遥感图像处理】022:envi时空分析工具的使用

本文介绍了ENVI软件中的时空分析工具应用,以美国拉斯维加斯1975-2014年的9期Landsat数据为例。主要内容包括:1)时空分析概念,即对空间相关时间序列数据的建模分析;2)构建时序数据流程,通过添加栅格、时间排序等步骤生成.series格式时序文件;3)时序数据查看方法,包括动画播放、添加注记及保存视频;4)多源数据统一处理工具,解决坐标系、空间范围不一致问题。该工具可用于冰川变化、植被覆盖等时空变化研究。

智慧空间实验室 270

android.intent.category.default 作用,android.intent.category.DEFAULT的用途和使用

两个概念explicit(明确,显式) intentIntent intent= new Intent(MainActivity.this, Secondary.class);implicit(隐藏,隐式) intentImplicit Intent没有明确的指定要启动哪个Activity ,而是通过设置一些Intent Filter来让系统去筛选合适的Acitivity去启动。在官方文档中有这么...

weixin_30332165的博客 370

两组相机(或三维点)对齐方法介绍及实现代码(求解相似变换,包含旋转R、平移t、尺度s)

  这个变换用于将生成的稀疏重建场景对齐到真值上。由于SfM(Structure from Motion,运动恢复结构)求解的结果是尺度未定的,所以重建场景与真值之间不仅会相差一个旋转与平移,还会存在尺度缩放。待求解的问题可以描述为:已知一组相机(个数为m)的位姿真值Rgt、tgt和预测位姿Rpred、tpred,现要将预测值对齐到真值上。它们之间会相差一个相似变换Msimilarity,包括尺度s、旋转量R、平移量t,可以根据如下步骤进行求解:    1 求解旋转R   首先计算所有m个相机的位姿差异总和

zeeq的博客 3926

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

intent在android中的作用,android之android.intent.category.DEFAULT的用途和使用

释放双眼,带上耳机,听听看~!1、要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent。Explicit Intent明确的指定了要启动的Acitivity ,比如以下Java代码:Intent intent= new Intent(this, B.class);Implicit Intent没有明确的指定要启动哪个Activit...

weixin_29629231的博客 393

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android之android.intent.category.DEFAULT的用途和使用 隐式Intent

1、要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent。      Explicit Intent明确的指定了要启动的Acitivity ,比如以下Java代码: [java] view plain copy  print? Intent intent= new Intent(th

chinabinlang的专栏 2855

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

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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android.intent.category.DEFAULT的用途和使用

如果是隐式intent,android默认给加上一个CATEGORY_DEFAULT,这样的话如果intent filter中没有android.intent.category.DEFAULT这个category的话,匹配测试就会失败。所以,如果你的 activity支持接收implicit intent的话就一定要在intent filter中加入android.intent.category.

u011494050的专栏 1029
上一篇: Android缓存
下一篇: 使用manifestPlaceholders替换变量
Manaasdfasdf
博客等级 码龄11年 131粉丝 151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值