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

安卓应用安全指南 4.1.2 创建使用活动 规则书

由于意图过滤器的特性,以及工作原理,即使您打算向内部的私有活动发送意图,但如果通过意图过滤器发送,则可能会无意中启动另一个活动。...,则使用显式意图(必需) 当通过隐式意图使用Activity时,Intent发送到的Activity由 Android OS 确定。...如果意图被错误地发送到恶意软件,则可能发生信息泄漏。 另一方面,当通过显式意图使用Activity时,只有预期的Activity会收到Intent,所以这样更安全。...此外,根据实现,向伙伴或内部活动发送意图时,也存在各种信息泄漏的风险。 即使将数据发送到私有活动,也存在风险,意图中的数据可能通过LogCat泄漏。...当有必要发送敏感信息时,最好的做法是只发送给受信任的活动,并确保信息不能通过LogCat泄露。 另外,敏感信息不应该发送到根活动。 根活动是创建任务时首先调用的活动

1.3K20

意图Intent

随着应用程序被添加到系统中,他们可以通过添加新的动作,类型和类别来扩展这种语言,或者通过提供它们自己的活动来修改现有短语的行为。 意图解析 你将使用两种主要的意图形式。...这是通过的过程中处理的意图的分辨率,其中意图映射到Activity,BroadcastReceiver 或者 Service(或有时两个或两个以上的活动/接收器),其可以处理它。...该活动允许用户查看或编辑数据目录(通过VIEW和EDIT操作),或选择一个特定的注释并将其返回给调用者(通过PICK操作)。...标准活动行动 这些是意图为启动活动定义的当前标准动作(通常是通过startActivity(Intent)。)。最重要,也是最常用的,是ACTION_MAIN和 ACTION_EDIT。...串 ACTION_DEVICE_STORAGE_OK 广播动作:表示设备上的内存不足情况不再存在 这是一个受保护的意图,只能由系统发送。 串 ACTION_DIAL 活动操作:拨打由数据指定的号码。

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

安卓应用安全指南 4.1.3 创建使用活动 高级话题

应用 A 试图通过发送隐式意图,来调用同一应用中的私有活动 ,但是这次显示了对话框,询问用户选择哪个应用,以及应用 B 中的公共活动 B-1 ,由于用户的选择而错误调用。...由于这个漏洞,可能会将敏感信息发送到其他应用,或者应用可能会收到意外的返回值。 如上所示,使用意图过滤器,将隐式意图发送到私有应用,可能会导致意外行为,因此最好避免此设置。...发送到任务的根Activity的意图,被添加到任务历史中。 根活动是在任务中启动的第一个活动。 任何应用都可以通过使用ActivityManager类,读取添加到任务历史的意图。...例如,当默认活动由启动器启动时,此活动将是根活动。 根据 Android 规范,发送到根Activity的意图的内容可以从任意应用中读取。 因此,有必要采取对策,不要将敏感信息发送到根活动。...另外,启动模式也可以通过设置意图的标志来更改。 标志FLAG_ACTIVITY_NEW_TASK以singleTask模式启动活动。 启动模式可以指定为这些。我会解释它们和根活动的关系。

1.4K20

安卓应用安全指南 4.4.2 创建使用服务 规则书

请参阅“4.1.2.5 小心并安全地处理收到的意图(必需)”和“4.1.2.9 小心并安全地处理从被请求活动返回的数据”。 在服务中,你还应该小心实现调用方法,并通过消息交换数据。...4.4.2.6 如果目标是固定的,使用显式意图(必需) 当通过隐式意图使用服务时,如果意图过滤器的定义相同,则意图发送到首先之前的服务。...如果之前安装了恶意软件,它故意定义了同一个意图过滤器,则意图发送到恶意软件并发生信息泄露。 另一方面,当通过显式意图使用服务时,只有预期的服务会收到意图,所以这样更安全。...还有一些要考虑的要点,请参阅“4.1.2.8 如果目标活动是预定义的,则使用显式意图(必需)”。...首先,不发送敏感数据,是防止信息泄露的唯一完美解决方案,因此你应该尽可能限制发送的敏感信息的数量。 当需要发送敏感信息时,最佳做法是仅发送给可信服务并确保信息不会通过LogCat泄漏。

95210

安卓应用安全指南 4.1.1 创建使用活动 示例代码

当使用仅在应用程序中使用的活动(私有活动)时,只要你对类使用显示意图,那么你不必担心将它意外发送到任何其他应用程序。 但是,第三方应用程序可能会读取用于启动活动意图。...8) 由于目标活动位于同一个应用中,因此只能通过putExtra()发送敏感信息 [1]。 警告:如果不遵守第 1, 2 和 6 点,第三方可能会读到意图。...有必要注意的是,公共活动可能收到恶意软件发送意图。 另外,使用公共活动时,有必要注意恶意软件也可以接收或阅读发送给他们的意图。 要点(创建活动): 1) 将导出属性显式设置为true。...4) 通过预定义白名单验证请求应用程序的证书。 5) 尽管意图是从伙伴应用程序发送的,仔细和安全地处理接收到的意图。 6) 只返回公开给伙伴应用的信息。...8) 不要为启动活动意图设置FLAG_ACTIVITY_NEW_TASK标志。 9) 仅通过putExtra()发送公开给伙伴活动的信息。 10) 使用显示意图调用伙伴活动

1.6K10

安卓应用安全指南 4.9 使用`WebView`

以下示例代码是显示非内部管理的内容的活动。 此示例代码显示由用户通过地址栏输入的 URL 指定的内容。 请注意,当 JavaScript 错误发生时,JavaScript 被禁用并且连接中止。...4.9.2.3 禁用 JavaScript 来显示通过意图接收的 URL(必需) 如果你的应用需要显示从其他应用,以意图等形式传递的 URL,则不要启用 JavaScript。...Web 消息传送是一种在 HTML5 中定义的框架,用于在不同的浏览上下文之间,发送和接收数据 [20]。...[20] http://www.w3.org/TR/webmessaging/ 此方法从WebView已读入的浏览上下文发送一个消息,该消息由其第一个参数指定; 然而,在这种情况下,有必要指定发送者的来源作为第二个参数...如果指定的来源 [21] 与发送上下文中的来源不符,则不会发送该消息。 通过以这种方式限制发送者来源,此机制旨在防止消息传递给非预期发送者。

1K10

RN与原生通讯(安卓篇)一、RN调用安卓代码(简单)二、RN用消息机制方式与安卓原生代码切换三、RN用Promise机制与安卓原生代码通信四、RN用callback回调方式与安卓原生代码通信

在这里将传入的上下文赋值给类内部私有的上下文 // 创建一个上下文,放到构造函数中,得到reactContext private ReactApplicationContext mContext...//方法不能返回值 因为被调用的原生代码是异步的 原生代码执行结束之后只能通过回调函数或者发送消息给RN @ReactMethod public void rnCallNative(String...Activity是android系统最小的调度单位。 ? 创建名称为MyActivity的空活动。它会帮助我们生成一个自动布局文件做布局的工作。...//方法不能返回值 因为被调用的原生代码是异步的 原生代码执行结束之后只能通过回调函数或者发送消息给RN @ReactMethod public void rnCallNative(String...,意图android进程之间、线程之间、交换数据的载体 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //一定要加上这句

3.5K70

浅入浅出 Android 安全:第五章 Android 应用层安全

每个 Android 应用由四个组件类型的几个组件组成:活动(Activity),服务(Service),广播接收器(Boardcast Reciver)和内容供应器(Content Provider)...活动活动是用户界面的元素之一。 一般来说,一个活动通常代表一个界面。 服务。 服务是 Android 中的后台工作装置。 服务可以无限期运行。...我们可以通过使用方法startActivity和startActivityForResult启动新的活动。 服务通过startService方法启动。...当应用或系统组件使用sendBroadcast,sendOrderedBroadcast和sendStickyBroadcast方法发送特殊消息时,将启动广播接收器。...所有其他组件类型通过Intent(意图)激活。 意图Android 中基于Binder框架的特殊通信手段。意图被传递给执行组件调用的方法。被调用的组件可以被两种不同类型的意图调用。

53030

Android:Intent介绍 & 使用方法

定义 意图,描述的是应用的动作 & 其对应的数据 ---- 2....使用1:指定当前组件要完成的动作 该使用 分为显式 & 隐式意图: 3.1 显式意图 特点 明确指定需启动的组件名 即 显式Intent不需 解析Intent 则可直接启动目标组件 具体使用...实例化显式Intent & 通过构造函数接收2个参数 // 参数1 = Context:启动活动上下文,一般为当前Activity // 参数2 = Class:是指定要启动的目标活动...通过Activity类的startActivity()执行该意图操作(接收一个Intent对象) // 将构建好的Intent对象传入该方法就可启动目标Activity startActivity...:name="android.intent.action.ALL_APPS"/> <category android:name="android.intent.category.DEFAULT

1.2K20

Android安全之应用层安全(五)

每个 Android 应用由四个组件类型的几个组件组成:活动(Activity),服务(Service),广播接收器(Boardcast Reciver)和内容供应器(Content Provider)...活动活动是用户界面的元素之一。 一般来说,一个活动通常代表一个界面。 服务。 服务是 Android 中的后台工作装置。 服务可以无限期运行。...我们可以通过使用方法startActivity和startActivityForResult启动新的活动。 服务通过startService方法启动。...当应用或系统组件使用sendBroadcast,sendOrderedBroadcast和sendStickyBroadcast方法发送特殊消息时,将启动广播接收器。...所有其他组件类型通过Intent(意图)激活。 意图Android 中基于Binder框架的特殊通信手段。意图被传递给执行组件调用的方法。被调用的组件可以被两种不同类型的意图调用。

97920

Android使用Intent显示实现页面跳转

在学习安卓的最初过程中我们学的都是最基本的一个活动,只有一个活动的应用也太简单了吧,没错我们的最求应该更高点,不管你创建多少个活动,接下里我们介绍的这种方法能解决我们在创建活动之间的跳转....cls).这个构造函数接受两个参数,第一个参数Context要求提供一个启动活动上下文,第二个参数Class则是指定想要启动的目标活动,通过这个构造函数就可以构建出Intent的意图,,但是我们该怎么使用...作为上下文,FirstActivity.class作为目标活动,然后通过startActivity(intent)启动活动 下面这个是FirstActivity里面的代码 package com.example.testintent..." / <category android:name="android.intent.category.LAUNCHER" / </intent-filter 这段代码主要是首先启动哪个活动,因为我们首先启动的是...MainActivity这个活动所以在那里添加这段代码,第二个活动不需要去添加这段代码 接下来我们启动模拟器如图 ?

3K41

安卓四大组件面试题_android常见面试题

2.谈谈 Android 中几种 LaunchMode 的特点和应用场景? 答:LaunchMode 有4种。 1、standard:Activity默认的启动模式。...答:Context,简称上下文,指程序运行的上下文环境。Context是一个抽象类,它允许访问特定于应用程序的资源和类,以及对应用程序级操作的调用,比如启动活动发送广播和接收意图等。...IntentFilter是意图过滤器,用于Intent的隐式调用匹配。 IntentFilter有3种匹配规则,分别是action、categroy、data。...data: 只有data标签中指定的内容和Intent携带的Data完全一致时,当前活动才能够响应该Intent。...category: category标签中指定的内容某一项与Intent携带的category一致时,当前活动就能够响应该Intent。

55310

Carson带你学Android:这是一份全面&详细的Intent学习指南

前言 Intent在Android开发的应用非常常见 今天我就带给大家简单讲一下Intent的相关知识 & 其用法 目录 1. 定义 意图,描述的是应用的动作 & 其对应的数据 2....使用1:指定当前组件要完成的动作 该使用 分为显式 & 隐式意图: 3.1 显式意图 特点 明确指定需启动的组件名 即 显式Intent不需 解析Intent 则可直接启动目标组件 具体使用 明确指定组件名的方式...实例化显式Intent & 通过构造函数接收2个参数 // 参数1 = Context:启动活动上下文,一般为当前Activity // 参数2 = Class:是指定要启动的目标活动...通过Activity类的startActivity()执行该意图操作(接收一个Intent对象) // 将构建好的Intent对象传入该方法就可启动目标Activity startActivity...总结 本文对Android中的Intent组件进行了全面的介绍 Carson带你学Android 文章系列: Carson带你学Android:页面活动-Activity Carson带你学Android

41830

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

主要特点和作用: 启动活动通过创建一个具有适当Action和可选Data的Intent对象,可以启动目标活动并实现页面之间的跳转。...发送广播:通过发送具有特定Action或Data的广播Intent,可以通知其他组件或应用程序发生了某个事件。...通过设置Intent的属性和调用相应的方法,可以根据需要灵活地实现不同的通信和交互行为。 二 Intent使用方法 Intent是Android中用于应用组件之间通信和交互的重要机制。...以下是使用Intent的几个常见情况: 启动活动通过创建Intent对象,设定目标活动的类名或Action,并调用startActivity()方法来启动目标活动。...通过putExtra()方法将数据放入Intent中,然后在目标活动通过getXXXExtra()方法获取数据。

31510

Android deeplink漏洞

DeepLink漏洞 0x00 DeepLink简介 Deep link是一种处理特定类型链接并直接发送到应用程序(例如特定活动)的机制。...通过添加intent-filters来设置深层链接,并根据从传入意图中提取的数据将用户引导至正确的活动。因此,多个应用程序能够处理相同的深层链接(Intent)。...Android 应用程序链接是通过添加使用 URL 打开应用程序内容的意图过滤器并验证是否允许应用程序打开这些网站 URL 来设置的。...通过在以下位置托管数字资产链接JSON 文件来声明网站和意图过滤器之间的关系:https://domain.name/.well-known/assetlinks.json 如果系统成功验证允许应用程序打开某个...例如,假设应用程序通过以下流程打开基于 http/https URL 的本地文件: 用户发送链接https://website.com/file.pdf 应用程序解析 URL 并检索 URL 路径:file.pdf

51340

Android使用Notification在状态栏上显示通知

(2)创建一个Notification对象,并为其设置各种属性 (3)为Notification对象设置事件信息 (4)通过NotificationManager类的notify()方法发送Notification...通知 下面通过一个具体的实例说明如何使用Notification在状态栏上显示通知: res/layout/main.xml: <?...MainActivity.this, "无题", "每天进步一点点", null);//设置事件信息 notificationManager.notify(NOTIFYID_1,notify);//通过通知管理器发送通知...,在下面就是通知被点击时激活的组件对象(上下文,请求码,意图对象,标识符) PendingIntent pendingIntent=PendingIntent.getActivity(MainActivity.this..., "通知", "查看详细内容", pendingIntent); notificationManager.notify(NOTIFYID_2,notify);//通过通知管理器发送通知 } })

2.3K30

Android 基础面试常常吊死在这几个问题上……

应聘者:这个是上下文通过它可以访问application的资源和相关的类! 面试官:什么是 Activity Context 呢?为什么要用? 应聘者:此上下文在 Activity 中可用。...该上下文与 Activity 的生命周期相关。在 Activity 范围内传递上下文或需要其生命周期附加到当前上下文上下文时,应使用 Activity 上下文。...当您需要一个生命周期与当前上下文分开的上下文时,或者在传递超出活动范围的上下文时,可以使用 Application Context 。 2、面试官:什么是 Armv7 ? 应聘者:我怎么知道?...“Standard” 再次启动B ,则新堆栈将为A->B-> C->B; SingleTop:与标准 Standard ,除了堆栈顶部存在 Activity 的先前实例之外,它不会创建新实例,而是将意图发送给...因此,如果 Activity 已经在任务中,则该意图将被重定向到onNewIntent( ) ,否则将创建一个新实例。一次只有一个Activity实例存在。

2K20

Appium+python自动化(十四)- 与Capability完美懈垢之解读(超详解)

能力 描述 值 appActivity 要从包中启动的Android活动活动名称。这往往需要在一个...., com.android.settings appWaitActivity 活动名称/名称,逗号分隔,您想要等待的Android活动 SplashActivity,SplashActivity,OtherActivity...默认为2000 例如 4 intentAction 意图操作将用于启动活动(默认android.intent.action.MAIN) 例如android.intent.action.MAIN,android.intent.action.VIEW...intentCategory 意图类别,将用于启动活动(默认android.intent.category.LAUNCHER) 例如android.intent.category.LAUNCHER,android.intent.category.APP_CONTACTS...intentFlags 将用于启动活动的标志(默认0x10200000) 例如 0x10200000 optionalIntentArguments 将用于启动活动的其他意图参数。

3.2K50

android学习笔记----隐式意图和显式意图

隐式意图和显式意图: 显式意图:显式意图明确指明了启动活动上下文和想要启动的目标活动,显式意图明确指定了Intent应该传递给哪个组件。 隐式意图:没有明确指定组件名的Intent为隐式意图。...开启自己应用的界面用显式意图,开启其他应用(一般指系统应用)的时候用隐式意图(比如拨打电话)。 显式意图安全一些,隐式意图可以通过匹配intent-filter里面的标签对应来跳转到相应的页面 。...参数 intent Intent:开始的意图。 requestCode int:如果>=0,则当活动退出时,此代码将在onActivityResult()中返回。...resultCode int:子活动通过其setResult()返回的整数结果代码。...由于在一个活动中有可能调用startActivityForResult()方法去启动很多不同的活动,每一个活动返回的数据都会回调到onActivityResult()这个方法中,因此我们首先要做的就是通过

1.2K10
领券