Intent的Action与Category的区别

Action和Category都是用来描述要启动的目标组件的特征的,那么这两者有什么区别?为什么要分开设计这两者而不是只用其中一个就可以了?

0
suannai0314
鹳狸媛 楼主的这个问题解决了么?下边的答案能解决问题么?如果可以麻烦点击答案旁的√采纳哦~如果没有也可以将自己的答案贴上然后进行采纳的。
大约 6 年之前 回复

1个回答

每一个通过 startActivity() 方法发出的隐式 Intent 都至少有一个 category,就是 "android.intent.category.DEFAULT",实际上android默认定义了几种Action对应到category中,CATEGORY_BROWSABLE,CATEGORY_LAUNCHER 。而action的设计是为了扩展描述的特性,比如你可以添加特定的String到action,自定义协议(如market协议,sms等)等等,这样就可以通过Uri.parser()的方式寻找特定的组件。

-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Intent中的四个重要属性——Action、Data、Category、Extras
Intent中的四个重要属性——Action、Data、Category、Extras   Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递。通过其自带的属性,其实可以方便的完成很多较为复杂的操作。例如直接调用拨号功能、直接自动调用合适的程序打开不同类型的文件等等。诸如此类,都可以通过设置Intent属性来完成。   Intent主要有以下四个重要属
Android Action大全
Android Action/Intent/Category类别集合
Android中隐式Intent的匹配规则
Android中系统组件的启动方式有显式启动和隐式启动,我们今天主要就了解一下隐式启动中的匹配规则。 Intent Filter匹配规则 只有action、category、data三方都匹配,Intent才算是匹配成功,进而才能打开相应的Component。一个Component若声明了多个Intent Filter,只需要匹配任意一个即可启动该组件。 <activity a...
浅谈Intent匹配规则
我们知道,启动Activity分为隐式调用和显示调用两种方式。显示调用必须明确指定被调用对象的组件信息,包括包名和类名,这种调用很简单,我们着重来说下隐式调用。 隐式调用不需明确指定被调用对象的组件信息,开启时需要给inten指定明确的匹配信息,intent要能够匹配目标组件在intentFilter中设置的匹配信息,如果匹配失败,那就无法启动目标组件。 IntentFilter中的过滤信息包...
AOSP6.0.1 系统中增加新的category类型与app绑定,并在hotseat容器中加载app
在launcher3(桌面程序)的hotseat中,可以通过修改dw_phone_hotseat.xml在指定位置加载指定app(仅限于已经指定category类型为APP_xxxx的app或者是系统APP(这里不描述关于系统APP事件定义方式))。如果想在hotseat中加载自己编写app,比较省事的一种方式是在系统中增加新的category类型,类型可以任意命名(这里以APP_SETTINGS...
Intent filter 关于Action、Category属性详解源码
Intent filter 关于Action、Category属性详解源码 对应的博客文章链接: http://blog.csdn.net/a13429921973/article/details/9271973
Intent的介绍及七大属性
一.Intent的介绍        Intent的英文翻译是“意图、目的、意思、含义“,Android通过Intent来启动Android应用程序中的三个重要组件Activity、Service、BroadcastReceiver,使用Intent可以减少代码、组件之间的耦合。 为什么要使用Intent呢? 假如ActivityA需要启动另外一个ActivityB,为什么不直接使用类似st
Android中Intent对应的category列表大全 .
 Android 1.5、1.6 android.intent.category.ALTERNATIVE    android.intent.category.BROWSABLE    android.intent.category.DEFAULT android.intent.category.DEVELOPMENT_PREFERENCE    android.intent.cat...
Intent显式启动和隐式启动
众所周知 Android组件的启动模式有两种 显式调用和隐式调用,这两种调用方式从字面意思就很好理解,显式调用需要指定被启动的组件比如:Intent i= new Intent(); i.setClass(this,SecondActivity.class); startActivity(i);隐式调用则不需要。那么隐式调用是怎么匹配找到被启动的组件呢?答案是IntentFilter,在Manife
利用Intent.ACTION_SEND进行分享
安卓系统本身可以很简便的**实现分享功能**,因为我们只需向startActivity传递一个ACTION_SEND的Intent,系统就为我们弹出一个应用程序列表。其实在系统的文件管理器中,这应该是我们常用的功能(包括文件的打开Intent.ACTION_VIEW)。 下面列出一个简单的分享方式Intent shareIntent = new Intent(); shareIntent.setAc
Android中Intent对象与Intent Filter过滤匹配过程详解
如果对Intent不是特别了解,可以参见博文《Android中Intent概述及使用》,该文对本文要使用的action、category以及data都进行了详细介绍。本文在描述组件在manifest中注册的Intent Filter过滤器时,统一用intent-filter表示。概述我们知道,Intent是分两种的:显式Intent和隐式Intent。如果一个Intent明确指定了要启动的组件的完整
intent category
intent category到底得怎样用的,网上关于这个的资料不多,官方的文档又说得不清不楚的,看不明白啊。
Intent详解(一)
    Intent,中文名为意图,简单说也就是传递消息。Intent是各个组件之间信息沟通的桥梁。 既能在Activity之间沟通,又能在Activity和Service之间沟通,也能在Activity和Broadcast之间沟通。总结为:Intent用于处理Android各组件之间的通信,工作有:     Intent需标明本次通信请求从哪里来、到哪里去、怎么走。     发起方携带本次...
AndroidStudio快速入门五:常见问题集合
Gradle Sync Failed,cant resolve symbol,Execution failed for task appdexDebug,Unable to load class orgcodehausgroovyruntimeStringGroovyMethords,Execution failed for task,projectdemoprocessDebugManifest.......
Intent中action常量浅解
在Android的Intent类中定义了许多常量,每个都有其对应的意义,这里对其中action部分的常量的意义及使用进行解析一下。1. ACTION_MAIN = "android.intent.action.MAIN":用来声明一个应用的入口Activity,也就是点击桌面应用的icon启动的第一个Activity;2. ACTION_VIEW = "android.intent.action....
第四篇 多个Activity配置的同一个action的启动
有了之前的知识,那么我们来思考一个问题,如果应用中多个activty配置的是同一个action,那么当startActivity(new Intent(action))时,应该启动哪个? <activity android:name=".MyAty" android:exported="false"> 隐式intent --> androi
intent_action
intent _action 在android中所有的intent 的action 在里面列了出来
android组件间信使--Intent之Action属性
Action是指Intent要完成的动作,是一个字符串常量。在Intent类里面定义了大量的Action常量属性,例如:ACTION_CALL(打电话)、ACTION_EDIT(编辑数据)、ACTION_BATTERY_LOW(低电量广播action)等。我们也可以自定义Action来使用。 setAction()设置IntentAction属性,使用getAction来获得Intent的Act
隐式Intent解析
回顾Android中的隐式Intent的相关知识点。 概述 使用 action标签 category标签 data标签 概述 隐式启动主要解决了界面间的跳转解耦,主要涉及intent-filter中的三个标签: category action data 它们构成了隐式启动的匹配项,通过不同的配置完成不同的路由跳转。 使用 列一个例子,新建一个APP有两...
Intent要使用的ACTION都有哪些?在哪里能查到详细的ACTION呢?
Intent操作结构之一就是ACTION,这些ACTION都有哪些?在哪里能查到详细的ACTION呢? 官方文档: https://developer.android.com/reference/android/content/Intent.html#ACTION_VIEW 在这里,列举了绝大多少的ACTION,每个都有详细说明!!
讲解Intent中的四个重要属性——Action、Data、Category、Extras
1 前言Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递。通过其自带的属性,其实可以方便的完成很多较为复杂的操作。例如直接调用拨号功能、直接自动调用合适的程序打开不同类型的文件等等。诸如此类,都可以通过设置Intent属性来完成。
Activity的使用总结 (二)--Action、Category、Data匹配规则
Android隐示启动的Action、Category、Data匹配规则 1.定义: Action:定义匹配动作,属性值为一个字符串,Intent中必须携带有action,系统预定义了一些action,但是我们也可以在应用中定义自己的action. Category:用于指定当前动作(Action)被执行的环境,属性值也是一个字符串,系统也预定义了一些Category,我们也可以自定义.过...
安卓intent隐式跳转
安卓除了可以直接显示跳转外,还可以隐式转换,主要是为了和其他应用程序交互。在亲自敲代码时就发现崩溃了。原来每一个隐式跳转intent都必须包含一个默认的category(android.intent.category.DEFAULT),因为隐式跳转startActivity(intent)时,这个intent都默认添加了这个category。读书不够仔细,要记住这个教训。
Intent中各种常见的Action
1 Intent.Action_CALL Stirng: android.intent.action.CALL 呼叫指定的电话号码。 Input:电话号码。数据格式为:tel:+phone number Output:Nothing Intent intent=new Intent(); intent.setAction(Intent.ACTION_CALL); intent.
Intent的属性
[code=&quot;java&quot;] /** 1.ComponentName ComponentName cn = new ComponentName(getApplication(), &quot;com.ck.SecondActivity&quot;); Intent intent = new Intent(); intent.setComponent(cn); startAct...
从0开始认识android(六):启动系统相机拍照、摄像的Intent
1、启动系统相机 1.1、只是简单的获取所拍照片的缩略图 启动相机 static final int REQUEST_IMAGE_CAPTURE = 1; private void dispatchTakePictureIntent() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_...
android显示意图和隐式意图的区别
显示Intent和隐式Intent的区别
详解显式intent和隐式intent
Intent是Android程序中各组件之间进行交互的一种重要方式。它不仅可以指明activity想要执行的动作,也可以在不同组件之间传输数据。 Intent分为两种,显式intent和隐式intent,以下分别进行描述: 一、显式intent bt.setOnClickListener(new View.OnClickListener() { @Overrid...
Intent 的隐式跳转总是崩溃的问题(已解决)
显示跳转主要是用在应用内的界面跳转,而隐式跳转一般用于跨应用跳转,如跳转到选取联系人信息或系统相册界面等。
Intent总结03 Action属性
关于Action intent的实例,包括自定义的action和系统自带的action。
关于CATEGORY_BROWSABLE的使用(很NB的一个运用)
browsable的意思就是浏览器在特定条件下可以打开你的activity,比如: 我有一个activity,它注册了能显示pdf文档,AndroidManifest.xml内容如下:             &amp;lt;intent-filter&amp;gt;                &amp;lt;action android:name=&quot;android.intent.action.VIEW&quot; /&amp;...
应用间简单数据传递
App A @OnClick(R.id.login_setting) void jumpSetting(){ Intent i = new Intent("com.cetnav.login", Uri.parse("login://login")); i.putExtra("username", "123456789"); i.putExtra("password",
Android 判断当前手机中是否存在某一个action可以启动。
有的时候需要在某个程序里面由特定的条件跳转到设置或者其他的应用界面。我们一般采用的是根据某个特定的ACTIONT跳转到设置中去的。 首先是判断我们的手机中是否存在我们要的这个actyion. private boolean isActionSupport(Context context,String action){ final Pack
Intent隐式意图之setAction()的动作设置
隐式意图在很多app中应用广泛,使用隐式意图不仅可以启动自己程序中的Activity,还可以启动其他程序中的Activity,使得程序之间可以共享某种功能。以下将对于用过的setAction()的方法作以归纳整理,持续更新… 1、android.intent.action.VIEW 用于显示用户的数据。比较通用,会根据用户的数据类型打开相应的Activity。 //例1——打开浏览器 In...
一些常用的Intent_ACTION以及属性
Intent intent = new Intent(); intent.setAction(Intent.ACTION_GET_CONTENT); intent.setType("vnd.android.cursor.item/phone"); startActivityForResult(intent, 0); 可以跳转到联系人界面 并且带回的Intent中带有
代码中如何通过intent安装apk文件
在系统安装的的底层常规应用中,是通过PackageInstaller来识别程序安装的intent来执行安装: [code=&quot;java&quot;] package cn.com; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundl...
python导入gensim出现警告
在python里输入这两句话即可。 import warnings warnings.filterwarnings(action='ignore',category=UserWarning,module='gensim')
android用Intent隐式意图调起(百度,谷歌,高德地图)
1.权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="com.android.launcher.pe
Intent.action_大全
Android Intent Action
sendBroadcast遇到的一个问题
记录: private synchronized void send(Bundle bundle, String action) { if (bundle == null) { bundle = new Bundle(); } Intent intent = new Intent(action);