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

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

4.4.2.1 仅仅在应用中使用的服务,必须设为私有(必需) 仅在应用(同一个 UID)中使用的服务必须设置为“私有”。...它避免了应用意外地从其他应用接收意图,并最终防止应用的功能被使用,应用的行为变得异常。 在AndroidManifest.xml中定义服务时,你在必须导出属性设置为false。.../> 请参阅“4.4.3.1 导出属性和意图过滤器设置的组合(在服务情况下)”。...4.4.2.4 不要在onCreate中判断服务是否提供自己的函数(必需) onCreate中不应包含安全检查,例如意图参数验证,内部定义的签名权限验证,因为在服务运行期间接收到新请求时,不会执行onCreate...你必须假设,发送到公共服务的意图中的所有数据都可以由恶意第三方获取。 此外,根据实现情况,向伙伴内部服务发送意图时,也存在各种信息泄露的风险。

94810

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

" android:label="@string/app_name" android:exported="false" /> 意图过滤器不应该设置在仅用于单个应用的活动中。...由于意图过滤器的特性,以及工作原理,即使您打算向内部的私有活动发送意图,但如果通过意图过滤器发送,则可能会无意中启动另一个活动。...更多详细信息,请参阅高级主题“4.1.3.1 结合导出属性和意图过滤器设置(用于活动)”。 AndroidManifest.xml(不推荐) <!...创建新任务时,其他应用可能会读取调用意图的内容,因此当敏感信息包含意图中时,需要使用"standard"活动启动模式设置。...请参阅“4.1.3.1 组合导出属性和意图过滤器设置(对于活动)” 4.1.2.9 小心并安全地处理来自被请求活动的返回数据(必需) 根据您访问的活动类型,风险略有不同,但在处理作为返回值的收到的Intent

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

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

4.0 4.1.3.1 组合导出属性和意图过滤器(对于活动) 我们已经解释了如何实现本指南中的四类活动:私有活动,公共活动,伙伴活动和内部活动。...导出属性的值 True 意图过滤器已定义 公开 意图过滤器未定义 公开、伙伴、内部 表 4.1-2 当未指定Activity的导出属性时,Activity是否为公开的,取决于Activity的意图过滤器的存在与否...如果定义了任何意图过滤器,则该活动是公开的;否则它是私有的。...不应该使用未定义的意图过滤器导出属性false的原因,是 Android 的行为存在漏洞,并且由于意图过滤器的工作原理,其他应用的活动可能会意外调用它。下面的两个图展示了这个解释。...图 4.1-4 是一个正常行为的例子,其中私有活动(应用 A)只能由同一个应用的隐式Intent调用。 意图过滤器(action ="X")被定义为仅在应用 A 内部工作,所以这是预期的行为。

1.4K20

安卓应用安全指南 4.4.3 创建使用服务高级话题

BY-NC-SA 4.0 4.4.3.1 导出属性和意图过滤器设置的组合(在服务情况下) 我们已经本指南中解释了如何在实现四种服务类型:私有服务,公共服务,伙伴服务和内部服务。...表 4.4-3 导出属性的值 True False 意图过滤器已定义 公共 (不使用) 意图过滤器未定义 公共,伙伴,内部 私有 如果服务中的导出属性是未指定的,服务是否公开由是否定义了意图过滤器决定...不应该使用未定义的意图过滤器导出属性false的原因是,Android 的行为存在漏洞,并且由于意图过滤器的工作原理,可能会意外调用其他应用的服务。...具体而言,Android 的行为如下,因此在设计应用时需要仔细考虑。 当多个服务定义了相同的意图过滤器内容时,更早安装的应用中的服务是优先的。...就安全性而言,这里存在一个问题,应用 A 尝试通过发送隐式意图来,调用应用中的私有服务,但实际上调用了之前安装的应用 B 中的公共活动(B-1)。

95220

Android精通教程-Android入门简介

、片段、视图、意图、服务和内容提供者 活动(Activity),是一个用户界面屏幕。...应用可以定义一个多个活动,用于处理应用程序的不同阶段。 片段(Fragment),是活动的一个组成部分,通常显示在屏幕上,但并非必须如此。通过片段,能够使应用轻松适应不同尺寸屏幕。...视图(View),是最小的用户界面单元,可以直接包含活动中,也可以包含活动的片段中。视图可以用Java代码创建,但更好的方式是使用XML布局来定义。...意图(Intent),是一种行为描述机制(如选择照片,打电话等)。在Android中,几乎一切都是通过意图来实现的,这给我们提供了大量替换重用组件的机会。...版 - 入门篇 Android Studio2.0 教程从入门到精通Windows版 - 提高篇 Android Studio2.0 教程从入门到精通MAC版 - 安装篇 Android Studio2.0

70530

安卓应用安全指南 4.2.3 创建使用广播接收器 高级话题

4.0 4.2.3.1 结合导出属性和意图过滤器设置(用于接收器) 表 4.2-3 展示了实现接收器时,导出设置和意图过滤器元素的允许的组合。...表 4.2-3 可用与否,导出属性和意图过滤器元素的组合 导出属性的值 True False 意图过滤器已定义 OK 不使用 意图过滤器未定义 OK OK 未指定接收器的导出属性时,接收器是否为公共的...由广播发送的意图信息包含在错误日志中,因此在发生错误之后,需要注意,发送广播时,意图的信息显示在LogCat中。...因此,此片段发送的广播,可以被任何任意应用接收,包括恶意软件;因此,在意图包含敏感信息可能会造成信息泄漏的风险。...作为对策,有必要遵循“4.2.1.2 公共广播接收器 - 接收/发送广播”中列出的要点,并确保传输的意图包含敏感信息。

97510

Android精通教程-第一节Android入门简介

、片段、视图、意图、服务和内容提供者 活动(Activity),是一个用户界面屏幕。...应用可以定义一个多个活动,用于处理应用程序的不同阶段。 片段(Fragment),是活动的一个组成部分,通常显示在屏幕上,但并非必须如此。通过片段,能够使应用轻松适应不同尺寸屏幕。...视图(View),是最小的用户界面单元,可以直接包含活动中,也可以包含活动的片段中。视图可以用Java代码创建,但更好的方式是使用XML布局来定义。...意图(Intent),是一种行为描述机制(如选择照片,打电话等)。在Android中,几乎一切都是通过意图来实现的,这给我们提供了大量替换重用组件的机会。...版 - 入门篇 Android Studio2.0 教程从入门到精通Windows版 - 提高篇 Android Studio2.0 教程从入门到精通MAC版 - 安装篇 Android Studio2.0

72330

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

此应用包含第 21 行中声明的一个Activity。其他应用可能会调用此活动,将此组件的功能集成到其应用中。 1 <?xml version="1.0" encoding="utf−8"?...应用的开发人员可以使用显式意图隐式意图来调用选择图片的组件。对于第一种意图类型,开发人员可以在他的应用的组件中实现挑选功能,并使用带有组件名称数据字段的显式意图调用此组件。...当然,开发人员可以调用其他应用的组件,但是在这种情况下,他必须确保该应用安装在系统中。一般来说,从开发人员的角度来看,一个应用中的组件不同应用的组件之间的交互不存在差异。...对于第二种意图类型,开发人员将选择适当组件的权利转移给操作系统。 intent对象在其Action,Data和Category字段中包含一些信息。...根据这个信息,使用意图过滤器,操作系统选择可以处理意图的适当组件。意图过滤器定义了组件可以处理的意图的“模板”。当然,相同的应用可以定义一个意图过滤器,它将处理来自其他组件的意图

52630

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

此应用包含第 21 行中声明的一个Activity。其他应用可能会调用此活动,将此组件的功能集成到其应用中。 1 <?xml version="1.0" encoding="utf−8"?...应用的开发人员可以使用显式意图隐式意图来调用选择图片的组件。对于第一种意图类型,开发人员可以在他的应用的组件中实现挑选功能,并使用带有组件名称数据字段的显式意图调用此组件。...当然,开发人员可以调用其他应用的组件,但是在这种情况下,他必须确保该应用安装在系统中。一般来说,从开发人员的角度来看,一个应用中的组件不同应用的组件之间的交互不存在差异。...对于第二种意图类型,开发人员将选择适当组件的权利转移给操作系统。 intent对象在其Action,Data和Category字段中包含一些信息。...根据这个信息,使用意图过滤器,操作系统选择可以处理意图的适当组件。意图过滤器定义了组件可以处理的意图的“模板"。当然,相同的应用可以定义一个意图过滤器,它将处理来自其他组件的意图

97420

意图Intent

通常这些信息不会包含任何其他信息,只是作为用户与应用程序交互时应用程序启动内部活动的一种方式。 隐含意图没有指定一个组件;相反,它们必须包含足够的系统信息,以确定哪个可用组件最适合执行该意图。...这是通过的过程中处理的意图的分辨率,其中意图映射到Activity,BroadcastReceiver 或者 Service(或有时两个两个以上的活动/接收器),其可以处理它。...与动作一样,如果某个类型包含意图中(在某数据中显式隐式地包含),则该组将必须按组件列出。 对于不是content: URI的数据, Intent中不包含显式类型,而是考虑意图数据(如or)的方案。...再次像动作一样,如果我们匹配一个方案,它必须被组件列为一个可以处理的组件。http:mailto: 如果提供的类别必须全部由活动列为它所处理的类别。...它必须在特定的注释(数据类型vnd.android.cursor.item/vnd.google.note)上被调用,如前面的视图和编辑操作,但是这里显示和编辑注释数据中包含的标题。

91810

Android开发 - NFC基础

NDEF数据被封装一个消息(NdefMessage)的内部,一个消息包含一个多个的记录(NdefRecord)。每个NDEF记录必须是格式有效的,符合规范的。...想要进行Android Beam数据到另一台设备中的那台的设备的应用程序必须是在前台程序(译者注:活动的),而且接收该数据的设备不能被锁定。...因此,Android4.0更高版本的设备下,如果使用的AAR,下面的意图过滤器不是技术上必须的: 有了这个意图过滤器,现在当它扫描一个NFC标签,接收到一个AAR的类型com.example.android.beam...即使AARS保证了应用程序被启动下载,仍然建议使用意图过滤器。因为它可以让你启动您选择的应用程序中的Activity,而不是总是启动一个AAR指定的包内的主Activity。

1.9K00

Android Studio 3.2新功能特性

Android Studio包含以下更新以支持Jetpack。有关更多信息,请参阅Jetpack文档。...导出CPU跟踪 在使用CPU分析器记录CPU活动之后,可以将数据导出为.trace文件以便与其他人共享稍后检查。 在记录CPU活动导出轨迹,请执行以下操作: 右键单击要从CPU时间轴导出的录像。...线程活动时间线仅指示每个线程可用的跟踪数据的位置,而不是实际的线程状态(如正在运行,正在等待正在休眠)。...改进现有的lint检查 Android Studio 3.2包含对现有lint检查的许多改进。例如,资源循环检查现在适用于其他资源类型,并且翻译检测器现在可以在编辑器中即时查找缺失的翻译。...如果您想构建以这些ABI为目标的APK,则必须使用 NDK r16b更低版本,并在build.gradle文件中指定ABI ,如下所示: splits { abi { include

5.4K10

Android训练课程(Android Training) - NFC基础

NDEF数据被封装一个消息(NdefMessage)的内部,一个消息包含一个多个的记录(NdefRecord)。每个NDEF记录必须是格式有效的,符合规范的。...想要进行Android Beam数据到另一台设备中的那台的设备的应用程序必须是在前台程序(译者注:活动的),而且接收该数据的设备不能被锁定。...因此,Android4.0更高版本的设备下,如果使用的AAR,下面的意图过滤器不是技术上必须的: 有了这个意图过滤器,现在当它扫描一个NFC标签,接收到一个AAR的类型com.example.android.beam...即使AARS保证了应用程序被启动下载,仍然建议使用意图过滤器。因为它可以让你启动您选择的应用程序中的Activity,而不是总是启动一个AAR指定的包内的主Activity。

88510

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

有必要注意的是,公共活动可能收到恶意软件发送的意图。 另外,使用公共活动时,有必要注意恶意软件也可以接收阅读发送给他们的意图。 要点(创建活动): 1) 将导出属性显式设置为true。...2) 小心并安全地处理接收到的意图。 3) 返回结果时,请勿包含敏感信息。 下面展示了创建公共活动的示例代码。 AndroidManifest.xml <?...要点(创建活动): 1) 不要指定`taskAffinity`。 2) 不要指定`launchMode`。 3) 不要定义意图过滤器,并将导出属性明确设置为`true`。...5) 不要定义意图过滤器,并将导出属性显式设为true。 6) 确认内部签名权限是由内部应用的。 7) 尽管意图是从内部应用发送的,仔细和安全地处理接收到的意图。...14) 使用显式意图调用内部活动。 15) 即使数据来自内部应用,也要小心并安全地处理接收到的数据。 16) 导出 APK 时,请使用与目标应用相同的开发人员密钥对 APK 进行签名。

1.6K10

安卓应用安全指南 4.2.2 创建使用广播接收器 规则书

4.0 遵循下列规则来发送接受广播。...4.2.2.1 仅在应用中使用的广播接收器必须设置为私有(必需) 仅在应用中使用的广播接收器应该设置为私有,以避免意外地从其他应用接收任何广播。 它将防止应用功能滥用异常行为。...仅在同一应用内使用的接收器,不应设计为设置意图过滤器。 由于意图过滤器的特性,即使通过意图过滤器调用同一应用中的私有接收器,其他应用的公共私有也可能被意外调用。..." /> 请参阅“4.2.3.1 导出属性和意图过滤器设置的组合(对于接收器)”。...4.2.2.6 粘性广播中禁止包含敏感信息(必需) 通常情况下,广播由可用的广播接收器接收后会消失。

80330

《移动互联网技术》第五章 界面开发: 掌握Activity的基本概念,Activity的堆栈管理和生命周期

android-support-v4.jar 是Google提供的兼容低版本Android设备的软件包。现在使用Android Studio开发时,系统默认导入v7包,v7包含了v4。...action(动作) action用来表现意图的动作,它是最关键的匹配条件,因此在Intent中必须定义action。...一个过滤器可以包含多个动作,这时节点指定了一个 action 列表用于标识Activity所能接受的“动作”。...类别标签包含的类别信息能更精确地指定响应的 Intent 组件。只有当动作和类别同时匹配时,活动才能响应 Intent。所以类别越多,动作就越具体,意图也就越明确。...如果Intent对象中既包含Uri又包含type,则在中必须二者都包含才能通过测试。 extras(扩展信息) 扩展信息是数据以外的其他信息。

8210

Android移动应用基础教程》(Android Studio)(第二版)黑马程序员 课后习题答案

Android移动应用基础教程》(Android Studio)(第二版)黑马程序员 课后习题答案 目录 第1章 Android基础入门 第2章 Android常见界面布局 第3章 Android...答:Android开发环境的搭建分为3步,具体如下: 1.Android Studio工具的下载、安装、以及相关配置。...在安装过程中选择该工具的安装路径,以及配置Android Studio相关设置,如Android Studio工具的主题。 2.创建模拟器。...例如活动管理器(Activity Manager)。 3.核心类库:主要包含了系统库和Android运行环境。...3.简述Activity、Intent、IntentFilter的作用 答:Activity表示活动,他是Android的四大组件之一,Intent表示意图,IntentFilter表示过滤器,他们的作用具体如下

2.5K20

我所理解的Intent 和Intent-filter

3.Intent对象包含的信息 Intent 对象携带了 Android 系统用来确定要启动哪个组件的信息(例如,准确的组件名称应当接收该 Intent 的组件类别),以及收件人组件为了正确执行操作而使用的信息...在 内部,可以使用以下三个元素中的一个多个指定要接受的 Intent 类型: 在 name 属性中,声明接受的 Intent 操作。该值必须是操作的文本字符串值,而不是类常量。...该值必须是操作的文本字符串值,而不是类常量。 注:为了接收隐式 Intent,必须将 CATEGORYDEFAULT 类别包括在 Intent 过滤器中。...如果未在 Intent 过滤器中声明此类别,则隐式 Intent 不会被任何被系统匹配到,所以永远不会有组件响应你的意图。...d).必须是Intent的属性和组件过滤器的信息完全匹配上,组件才会做出相应,否则没有组件响应。

1.3K90
领券