4.4.2.1 仅仅在应用中使用的服务,必须设为私有(必需) 仅在应用(或同一个 UID)中使用的服务必须设置为“私有”。...它避免了应用意外地从其他应用接收意图,并最终防止应用的功能被使用,或应用的行为变得异常。 在AndroidManifest.xml中定义服务时,你在必须将导出属性设置为false。.../> 请参阅“4.4.3.1 导出属性和意图过滤器设置的组合(在服务情况下)”。...4.4.2.4 不要在onCreate中判断服务是否提供自己的函数(必需) onCreate中不应包含安全检查,例如意图参数验证,或内部定义的签名权限验证,因为在服务运行期间接收到新请求时,不会执行onCreate...你必须假设,发送到公共服务的意图中的所有数据都可以由恶意第三方获取。 此外,根据实现情况,向伙伴或内部服务发送意图时,也存在各种信息泄露的风险。
" android:label="@string/app_name" android:exported="false" /> 意图过滤器不应该设置在仅用于单个应用的活动中。...由于意图过滤器的特性,以及工作原理,即使您打算向内部的私有活动发送意图,但如果通过意图过滤器发送,则可能会无意中启动另一个活动。...更多详细信息,请参阅高级主题“4.1.3.1 结合导出属性和意图过滤器设置(用于活动)”。 AndroidManifest.xml(不推荐) 意图的内容,因此当敏感信息包含在意图中时,需要使用"standard"活动启动模式设置。...请参阅“4.1.3.1 组合导出属性和意图过滤器设置(对于活动)” 4.1.2.9 小心并安全地处理来自被请求活动的返回数据(必需) 根据您访问的活动类型,风险略有不同,但在处理作为返回值的收到的Intent
4.0 4.1.3.1 组合导出属性和意图过滤器(对于活动) 我们已经解释了如何实现本指南中的四类活动:私有活动,公共活动,伙伴活动和内部活动。...导出属性的值 True 意图过滤器已定义 公开 意图过滤器未定义 公开、伙伴、内部 表 4.1-2 当未指定Activity的导出属性时,Activity是否为公开的,取决于Activity的意图过滤器的存在与否...如果定义了任何意图过滤器,则该活动是公开的;否则它是私有的。...不应该使用未定义的意图过滤器和导出属性false的原因,是 Android 的行为存在漏洞,并且由于意图过滤器的工作原理,其他应用的活动可能会意外调用它。下面的两个图展示了这个解释。...图 4.1-4 是一个正常行为的例子,其中私有活动(应用 A)只能由同一个应用的隐式Intent调用。 意图过滤器(action ="X")被定义为仅在应用 A 内部工作,所以这是预期的行为。
BY-NC-SA 4.0 4.4.3.1 导出属性和意图过滤器设置的组合(在服务情况下) 我们已经本指南中解释了如何在实现四种服务类型:私有服务,公共服务,伙伴服务和内部服务。...表 4.4-3 导出属性的值 True False 意图过滤器已定义 公共 (不使用) 意图过滤器未定义 公共,伙伴,内部 私有 如果服务中的导出属性是未指定的,服务是否公开由是否定义了意图过滤器决定...不应该使用未定义的意图过滤器和导出属性false的原因是,Android 的行为存在漏洞,并且由于意图过滤器的工作原理,可能会意外调用其他应用的服务。...具体而言,Android 的行为如下,因此在设计应用时需要仔细考虑。 当多个服务定义了相同的意图过滤器内容时,更早安装的应用中的服务是优先的。...就安全性而言,这里存在一个问题,应用 A 尝试通过发送隐式意图来,调用应用中的私有服务,但实际上调用了之前安装的应用 B 中的公共活动(B-1)。
、片段、视图、意图、服务和内容提供者 活动(Activity),是一个用户界面屏幕。...应用可以定义一个或多个活动,用于处理应用程序的不同阶段。 片段(Fragment),是活动的一个组成部分,通常显示在屏幕上,但并非必须如此。通过片段,能够使应用轻松适应不同尺寸屏幕。...视图(View),是最小的用户界面单元,可以直接包含在活动中,也可以包含在活动的片段中。视图可以用Java代码创建,但更好的方式是使用XML布局来定义。...意图(Intent),是一种行为描述机制(如选择照片,打电话等)。在Android中,几乎一切都是通过意图来实现的,这给我们提供了大量替换或重用组件的机会。...版 - 入门篇 Android Studio2.0 教程从入门到精通Windows版 - 提高篇 Android Studio2.0 教程从入门到精通MAC版 - 安装篇 Android Studio2.0
4.0 4.2.3.1 结合导出属性和意图过滤器设置(用于接收器) 表 4.2-3 展示了实现接收器时,导出设置和意图过滤器元素的允许的组合。...表 4.2-3 可用与否,导出属性和意图过滤器元素的组合 导出属性的值 True False 意图过滤器已定义 OK 不使用 意图过滤器未定义 OK OK 未指定接收器的导出属性时,接收器是否为公共的...由广播发送的意图信息包含在错误日志中,因此在发生错误之后,需要注意,发送广播时,意图的信息显示在LogCat中。...因此,此片段发送的广播,可以被任何任意应用接收,包括恶意软件;因此,在意图中包含敏感信息可能会造成信息泄漏的风险。...作为对策,有必要遵循“4.2.1.2 公共广播接收器 - 接收/发送广播”中列出的要点,并确保传输的意图不包含敏感信息。
此应用包含第 21 行中声明的一个Activity。其他应用可能会调用此活动,将此组件的功能集成到其应用中。 1 意图或隐式意图来调用选择图片的组件。对于第一种意图类型,开发人员可以在他的应用的组件中实现挑选功能,并使用带有组件名称数据字段的显式意图调用此组件。...当然,开发人员可以调用其他应用的组件,但是在这种情况下,他必须确保该应用安装在系统中。一般来说,从开发人员的角度来看,一个应用中的组件或不同应用的组件之间的交互不存在差异。...对于第二种意图类型,开发人员将选择适当组件的权利转移给操作系统。 intent对象在其Action,Data和Category字段中包含一些信息。...根据这个信息,使用意图过滤器,操作系统选择可以处理意图的适当组件。意图过滤器定义了组件可以处理的意图的“模板”。当然,相同的应用可以定义一个意图过滤器,它将处理来自其他组件的意图。
此应用包含第 21 行中声明的一个Activity。其他应用可能会调用此活动,将此组件的功能集成到其应用中。 1 意图或隐式意图来调用选择图片的组件。对于第一种意图类型,开发人员可以在他的应用的组件中实现挑选功能,并使用带有组件名称数据字段的显式意图调用此组件。...当然,开发人员可以调用其他应用的组件,但是在这种情况下,他必须确保该应用安装在系统中。一般来说,从开发人员的角度来看,一个应用中的组件或不同应用的组件之间的交互不存在差异。...对于第二种意图类型,开发人员将选择适当组件的权利转移给操作系统。 intent对象在其Action,Data和Category字段中包含一些信息。...根据这个信息,使用意图过滤器,操作系统选择可以处理意图的适当组件。意图过滤器定义了组件可以处理的意图的“模板"。当然,相同的应用可以定义一个意图过滤器,它将处理来自其他组件的意图。
通常这些信息不会包含任何其他信息,只是作为用户与应用程序交互时应用程序启动内部活动的一种方式。 隐含意图没有指定一个组件;相反,它们必须包含足够的系统信息,以确定哪个可用组件最适合执行该意图。...这是通过的过程中处理的意图的分辨率,其中意图映射到Activity,BroadcastReceiver 或者 Service(或有时两个或两个以上的活动/接收器),其可以处理它。...与动作一样,如果某个类型包含在意图中(在某数据中显式或隐式地包含),则该组将必须按组件列出。 对于不是content: URI的数据, Intent中不包含显式类型,而是考虑意图数据(如or)的方案。...再次像动作一样,如果我们匹配一个方案,它必须被组件列为一个可以处理的组件。http:mailto: 如果提供的类别必须全部由活动列为它所处理的类别。...它必须在特定的注释(数据类型vnd.android.cursor.item/vnd.google.note)上被调用,如前面的视图和编辑操作,但是这里显示和编辑注释数据中包含的标题。
NDEF数据被封装一个消息(NdefMessage)的内部,一个消息包含一个或多个的记录(NdefRecord)。每个NDEF记录必须是格式有效的,符合规范的。...想要进行Android Beam数据到另一台设备中的那台的设备的应用程序必须是在前台程序(译者注:活动的),而且接收该数据的设备不能被锁定。...因此,Android4.0或更高版本的设备下,如果使用的AAR,下面的意图过滤器不是技术上必须的: android:name="android.nfc.action.NDEF_DISCOVERED...vnd.com.example.android.beam"/> 有了这个意图过滤器,现在当它扫描一个NFC标签,或接收到一个AAR的类型com.example.android.beam...即使AARS保证了应用程序被启动或下载,仍然建议使用意图过滤器。因为它可以让你启动您选择的应用程序中的Activity,而不是总是启动一个AAR指定的包内的主Activity。
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
有必要注意的是,公共活动可能收到恶意软件发送的意图。 另外,使用公共活动时,有必要注意恶意软件也可以接收或阅读发送给他们的意图。 要点(创建活动): 1) 将导出属性显式设置为true。...2) 小心并安全地处理接收到的意图。 3) 返回结果时,请勿包含敏感信息。 下面展示了创建公共活动的示例代码。 AndroidManifest.xml 活动): 1) 不要指定`taskAffinity`。 2) 不要指定`launchMode`。 3) 不要定义意图过滤器,并将导出属性明确设置为`true`。...5) 不要定义意图过滤器,并将导出属性显式设为true。 6) 确认内部签名权限是由内部应用的。 7) 尽管意图是从内部应用发送的,仔细和安全地处理接收到的意图。...14) 使用显式意图调用内部活动。 15) 即使数据来自内部应用,也要小心并安全地处理接收到的数据。 16) 导出 APK 时,请使用与目标应用相同的开发人员密钥对 APK 进行签名。
4.0 遵循下列规则来发送或接受广播。...4.2.2.1 仅在应用中使用的广播接收器必须设置为私有(必需) 仅在应用中使用的广播接收器应该设置为私有,以避免意外地从其他应用接收任何广播。 它将防止应用功能滥用或异常行为。...仅在同一应用内使用的接收器,不应设计为设置意图过滤器。 由于意图过滤器的特性,即使通过意图过滤器调用同一应用中的私有接收器,其他应用的公共私有也可能被意外调用。..." /> 请参阅“4.2.3.1 导出属性和意图过滤器设置的组合(对于接收器)”。...4.2.2.6 粘性广播中禁止包含敏感信息(必需) 通常情况下,广播由可用的广播接收器接收后会消失。
本文介绍的方式为如何通过模拟器设置 Android 12 的 SDK。 安装 Android Studio 的最新预览版 build。...在 Android Studio 中,依次点击 Tools > AVD Manager,然后按照说明创建新的 Android 虚拟设备 (AVD)。...3.1.2 应用覆盖控制 Android 的系统警告框允许一个应用在其他活动应用之上覆盖显示一个图层,以帮助应用提醒用户关注重要操作。...3.2.1 更安全的导出组件 包含 intent 过滤器的应用组件必须显式设置 android:exported 属性,如 Activity、Service、Broadcast Receive。...必须声明可变性 如果你的应用以 Android 12 为目标平台,则必须为你的应用创建的每个 PendingIntent对象指定可变性。
android-support-v4.jar 是Google提供的兼容低版本Android设备的软件包。现在使用Android Studio开发时,系统默认导入v7包,v7包含了v4。...action(动作) action用来表现意图的动作,它是最关键的匹配条件,因此在Intent中必须定义action。...一个过滤器可以包含多个动作,这时节点指定了一个 action 列表用于标识Activity所能接受的“动作”。...类别标签包含的类别信息能更精确地指定响应的 Intent 组件。只有当动作和类别同时匹配时,活动才能响应 Intent。所以类别越多,动作就越具体,意图也就越明确。...如果Intent对象中既包含Uri又包含type,则在中必须二者都包含才能通过测试。 extras(扩展信息) 扩展信息是数据以外的其他信息。
可以实时预览,拖放文件和图像以快速链接形式插入,支持导航和查找功能,将HTML粘贴到Markdown文档中自动转换为Markdown,可以导出为HTML或PDF分享给别人。...在kotlin中的使用 ---- 十一、Android Studio主题相关: 1.Material Theme UI 添加Material主题到你的Android Studio 示意图...详细可参考说一说Android Studio和IDEA中一个很有用的内存调试插件一文。 示意图: ? 示意图 ?...Studio 上调试数据库 ( SQLite ) 使用示意图: ?...你也可以查看不同Android活动时的系统功能和用户测试场景。
《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表示过滤器,他们的作用具体如下
导出模板 ? 导出模板 导入模板 ?...可以实时预览,拖放文件和图像以快速链接形式插入,支持导航和查找功能,将HTML粘贴到Markdown文档中自动转换为Markdown,可以导出为HTML或PDF分享给别人。...-material-theme-ui)添加Material主题到你的Android Studio 示意图: ?...详细可参考说一说Android Studio和IDEA中一个很有用的内存调试插件(https://zhuanlan.zhihu.com/p/25110433)一文。 示意图: ? 示意图 ?...你也可以查看不同Android活动时的系统功能和用户测试场景。
领取专属 10元无门槛券
手把手带您无忧上云