首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Android基础】Android中的Intent详解

因为每一个Acticity的任务不一样,所以经常互在各个Activity之间进行跳转,在Android中这个动作是靠Intent来完成的。...Intent的定义: Intent是Android系统用来抽象描述要执行的一个操作,也可以在不同组件之间进行沟通和消息传递。...显式Intent和隐式Intent: 显式的Intent就是你已经知道要启动的组件名称,比如某个Activity的包名和类名,在Intent中明确的指定了这个组件(Activity),一般来说这种Intent...从Android5.0(API 21),系统会抛出异常当你用隐式的Intent去调用bindService()方法。...想要了解更多的action可以查看Intent源码或者api,在Intent中定义了很多action,除了在Android framework中,在别处也定义了很多action,比如在Settings应用中

1.6K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android Intent漏洞

    如 例如,如果你在应用中构建一个名为DownloadService的服务,用于从Web下载文件,可以使用以下代码启动: // Executed in an Activity, so 'this' is...例如,如需在地图上向用户显示位置,则可以使用隐式 Intent,请求另一具有此功能的应用共享内容 例如,如果希望与其他人共享的内容,可以使用 ACTION_SEND 操作创建 Intent,并添加指定要共享的内容...= null) { // Update UI to reflect text being shared } } 您可以使用 android:priority="num" 属性在...Intent 过滤器中控制应用在列表中的位置 2.安全问题 滥用Activity返回值 如果受害应用使用startActivityForResult(),攻击应用使用setResult()将数据传输到受害者应用的...数据发送到服务器中。

    63130

    Android 嵌套 Intent

    问题 我们期望这种类型的交互流程如下图所示: 流程图展示了一个启动回调 activity 的 Intent 如何作为一个扩展数据添加到一个启动 Service 的 Intent 中,然后使用此 Intent...组件的 Intent 中。...这样的调用方式会产生两个不良的后果: 由于 ClientCallbackActivity 是被 Provider 应用从外部启动的,在清单文件中必须将其标识为 exported,这样不仅 Provider...流程图展示了,如何通过精心构建出的 Intent 来启动 Provider 应用中的 ApiSensitiveActivity,即使它没有被标记为 exported,并且也不应该被其他应用启动。...如果您熟悉关于 notification 处理或 alarm 管理的 API,您会注意到,它们使用了 PendingIntents 去激活某项操作或者在应用内进行 alarm 提示。

    33720

    【Android基础】利用Intent在Activity之间传递数据

    前言: 上一篇文章给大家聊了Intent的用法,如何用Intent启动Activity和隐式Intent,这一篇文章给大家聊聊如何利用Intent在Activity之间进行沟通。...mode,用singleTask启动Activity,那个Activity在另外的一个Activity栈中,你会立刻收到RESULT_CANCELED消息; 不能在Activity生命周期函数onResume...: 在被启动的Activity中你可以接收启动这个Activity的Intent,在生命周期范围内都能调用getIntent()来获取这个Intent,但是一般都是在onCreat和onStart函数中获取...")) { // Handle intents with text ... } } 设置返回Intent: 上面介绍了怎么在onActivityResult()中处理Intent...,但是怎么在你的应用中设置这个返回Intent呢?

    1.6K60

    【Android从零单排系列三十九】《认识Android中的Intent》

    前言 小伙伴们,在前面的一系列文章中我们分别介绍了Android视图控件、Android布局、Android四大组件,本文我们单独介绍一下Android中一个非常重要的内容Intent的使用。...一 Intent基本介绍 Intent是Android中的一个基本组件,用于在应用内的不同组件(如活动、服务和广播接收器)之间进行通信和交互。...通过putExtra()方法将数据放入Intent中,然后在目标活动中通过getXXXExtra()方法获取数据。...(intent); 在目标活动中获取数据: Intent intent = getIntent(); String value = intent.getStringExtra("key"); 启动服务:...intent.addCategory(Intent.CATEGORY_LAUNCHER); 4.Extra(附加数据):用于在Intent中传递额外的数据,可以使用putExtra()方法添加数据。

    40510

    Android Intent 解析之二

    函数里面会把它设置为false; 以下就是通过BROADCAST_INTENT_MSG消息放入到消息队列里面,最后传递给mHandler,从这个角度来说Intent最后也是通过线程本身的消息队列来实现Intent...以下介绍一下这个函数的流程: 1, 先推断fromMsg,假设是通过消息发送过来的就为真,否则为假; 假设为真mBroadcastsScheduled = false,这种话在函数scheduleBroadcastsLocked...receivers来接收消息,这个过程后面在串行intent 的时候也会碰到,我们留到后面讨论,这里仅仅须要知道它通过一个while循环把Intent发送给关注这个Intent的全部的receivers...; processCurBroadcastLocked 从这里能够看出最后通过Process.start启动了ActivityThread.java的进程,我们看看这个线程启动后的运行逻辑 首先是在进入主循环之前调用...attachApplication通过binder调用进入到activityManagerService.java的进程; 这 个server进程在把我们先前设置的mPendingBroadcast设置为

    24810

    Android Intents and Intent Filters(二)

    Category(类别)检测 类别在中是通过标记定义的,Category和Action一样,他们的名字都是一个字符串定义,但是我们在代码中可以使用对应的类别常量,在xml文件定义中只能使用定义好的字符串...Android的Intent类中提供了很多内置的类别定义,一中类别代表一个意思,可以参考说明使用。。...比如android.intent.category.LAUNCHER标表示你的应用会展示在启动列表页面,经常和android.intent.action.MAIN搭配使用 下面通过一个例子来说明Category...这是,因为我们的Intent定义了一个Category,这个Category在CategoryActivity和Category2Activity里都有,都能匹配上,所以就会弹出这两个Activity供我们选择...但是intent-filter的可以有额外的Category .再次提醒: Android对所有传递给 Context.startActivity()的隐式intent至少包含”android.intent.category.DEFAULT

    37030

    android开发_Intent初级学习

    Intent初级学习 New Android Project-> Project name:Intent Build Target:Android 2.2 Application name:IntentDemo...前面说到用Intent来拨打电话和发送短信,主要是介绍了Intent的一些简单方法,这里Intent启动了另一个Activity,在之前的内容都是在一个Activity中进行操作的。...但是在实际应用中,我们会有很多个Activity,如何从一个Activity跳到其他的Activity,这时就需要用到Intent了,既然有多个Activity,那么我们就要创建另一个Activity文件...18 Intent intent = getIntent(); 19 // 在MainActivity那边是setExtras(name,key) 20 // 在这里就是...MainActivity中的定义的REQUEST_CODE比较 30 //如果我们在MainActivity类中有不止一个Button时, 31 //都调用了startActivityForResult

    46920

    Android Intents and Intent Filters(一)

    这就是Intent!!它不仅可以在同一个应用中起传递信息的作用,还是可以在不同的应用进行传递信息。这就使得我们的应用和系统中的其他应用进行交互有了可能,进而使得整个Android开发变得更加精彩。...Intent Intent是怎样匹配的 一:前言 在正式介绍Intent之前,我们先看下上面说的Activity、Service和Broadcast Receiver是怎样传递Intent。...Intent.如果不设置,则是隐式的Intent,Android系统将根据Intent Filter中的信息进行匹配....Action一个字符串命名的动作,Android中预定义了很多Action,可以参考Intent类查看,下面是文档中的几个动作 ?...显示的Intent就是指定了组件名字的,隐式的就是没有指定Intent的组件名字,需要Android根据Intent中的Action、data、Category等来解析匹配。

    39930

    Android Intents and Intent Filters(三)

    数据(data)检测 data标记也是在intent-filter中定义的,大致格式如下: intent-filter> android:name="android.intent.action.VIEW...="text/plain"> intent-filter> 这样在单击txt文件的时候就可以选择我们的这个Activity...假定我们定义的Intent Filter 的data标签为集合A,传递的Intent中包含的data为集合B,当B是A的子集时就通过了(Action和Category也得检测通过)。...Intent是一个很好的设计,它提供了一种在各个组建之间通信的方式,也为我们使用其他的应用的功能提供了可能,这样如果我们想在自己的应用打开一个网页,我们就不用特意迁入一个webview,我们直接调用Android...最后值得一提的是PackageManager这个类中为我们提供了一系列的query…()方法,可以让我们根据我们定义的Intent查询特定的匹配Intent Filter标记的所有组件。。

    64330
    领券