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

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

导出属性的值 True 意图过滤器已定义 公开 意图过滤器未定义 公开、伙伴、内部 表 4.1-2 当未指定Activity的导出属性时,Activity是否为公开的,取决于Activity的意图过滤器的存在与否...不应该使用未定义的意图过滤器和导出属性false的原因,是 Android 的行为存在漏洞,并且由于意图过滤器的工作原理,其他应用的活动可能会意外调用它。下面的两个图展示了这个解释。...图 4.1-4 是一个正常行为的例子,其中私有活动(应用 A)只能由同一个应用的隐式Intent调用。 意图过滤器(action ="X")被定义为仅在应用 A 内部工作,所以这是预期的行为。...下面的图 4.1-5 展示了一个场景,其中在应用 B 和应用 A 中定义了相同的意图过滤器(action ="X")。...根据 Android 规范,发送到根Activity的意图的内容可以从任意应用中读取。 因此,必要采取对策,不要将敏感信息发送到根活动。

1.4K20

隐式意图和显式意图的使用场景

激活系统的某些应用,并且往应用里面填一些数据,比如说短信应用 打开短信应用,查看logcat,找到ActivityManager, 看到Display.com.android.mms/.ui.ComposeMessageActivity...查看短信源代码的清单文件,可以看到,一个activity节点下面可以多个intent-filter,一个意图过滤器里面可以设置多个action,category,data满足一个就可以。...测试一下, 获取Intent对象,new出来 调用Intent对象的setAction()方法,参数:”android.intent.action.SENDTO” 调用Intent对象的addCategory...区别: 显式意图:同一个应用程序里面,自己激活自己,推荐使用,指定包名类名 隐式意图:不同的应用程序里面,激活别人的程序,或者被别人激活,推荐使用 隐式意图会查询系统里面的所有activity,如果有符合条件的就会直接启动..."); intent.addCategory("android.intent.category.DEFAULT"); intent.setData(Uri.parse("

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

    Android 电量优化】电量优化 ( 充电状态获取 | 主动获取充电状态 | 广播接受者监听充电状态 | 被动获取充电状态 | 注册空广播接受者获取历史广播 )

    文章目录 一、获取充电状态 二、被动获取充电状态 三、主动获取充电状态 参考 Google 官方文档 : 优化电池续航时间 一、获取充电状态 ---- 在应用中执行某些操作 , 如软件云端备份 , 从服务器端获取最新版本号..., 从服务器端缓存最新软件安装包 , 固件版本 , 等操作 , 最好都在充电状态 , 那么如何获取充电状态呢 , 这里给出两个方式 , 分别是主动获取充电状态 , 被动获取充电状态 ; 二、被动获取充电状态...调用 Context 对象的 registerReceiver 方法 , 设置 BroadcastReceiver receiver 广播接收者参数为空 , IntentFilter 就是上述创建的意图过滤器..., 如果之前发送完毕的广播与本次注册的 IntentFilter 意图的 Action 匹配 , 次函数就会返回一个 Intent , 这个 Intent 就是之前已经发送的广播 ; ⑤ 如 : 本次注册的...: 如果在 IntentFilter 中注册多个意图 , 广播接收者如果不为空 , 则会处理每一个意图 , 但是返回值只能返回一个意图 , 返回哪个由系统决定 ; 广播接收者注册方法两种功能 , 一个是注册广播接收者

    2.5K00

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

    4.0 4.2.3.1 结合导出属性和意图过滤器设置(用于接收器) 表 4.2-3 展示了实现接收器时,导出设置和意图过滤器元素的允许的组合。...表 4.2-3 可用与否,导出属性和意图过滤器元素的组合 导出属性的值 True False 意图过滤器已定义 OK 不使用 意图过滤器未定义 OK OK 未指定接收器的导出属性时,接收器是否为公共的...图 4.2-4 是一个正常行为的例子,隐式意图只能在同一个应用中调用私有接收器(应用 A)。 意图过滤器(在图中,action ="X")仅在应用 A 中定义,所以这是预期的行为。...图 4.2-5 是个例子,应用 B 和应用 A 中都定义了意图过滤器(见图中的action ="X")的。首先,当另一个应用(应用 C)通过 隐式意图发送广播,它们不被私有接收器(A-1)接收。...作为对策,必要遵循“4.2.1.2 公共广播接收器 - 接收/发送广播”中列出的要点,并确保传输的意图不包含敏感信息。

    1K10

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

    " android:label="@string/app_name" android:exported="false" /> 意图过滤器不应该设置在仅用于单个应用的活动中。...由于意图过滤器的特性,以及工作原理,即使您打算向内部的私有活动发送意图,但如果通过意图过滤器发送,则可能会无意中启动另一个活动。...的启动模式,并且在某些情况下可能会生成新任务。...由于伙伴活动和内部活动也有恶意意图转发给他们的风险,因此必要对这些意图进行输入验证。...但是,由于从不可信来源收到的意图可能会间接转发,因此您不应盲目信任该意图的内容。 伙伴和内部活动在私有和公共活动中间一定风险。 一定也要对这些活动输入验证。

    1.3K20

    意图Intent

    = “vnd.android.cursor.item / vnd.google.note ” /> android.intent.action.GET_CONTENT...= “vnd.android.cursor.dir / vnd.google.note ” /> android.intent.action.INSERT android.intent.category.DEFAULT...串 ACTION_ATTACH_DATA 用于表示某些数据应该附加到其他地方。 串 ACTION_BATTERY_CHANGED 广播动作:这是一个包含充电状态,电平和其他电池信息的粘性广播。...串 EXTRA_ALARM_COUNT AlarmManager在intent中用作一个int外部字段来告诉被调用的应用程序多少未决的警报正在被意图传递。...后续 可能存在出现错误的地方,欢迎指正,如果对于文章中的某些部分不同的理解和想法,或者更好的想法,欢迎留言讨论。这里所介绍的相关知识,只是作者对于数据库中的浅层次理解。

    96010

    Android 12 适配升级小结

    Android 12 发布已经好几个月了,而且随着各大市场对应用适配的要求逐渐提高,和尚也尝试将一个历史的应用简单升级适配 Android 12; Android 12 Android 12 对应...Android 12 相对我们的历史项目来说属于较大版本的更新,在适配过程中遇到一系列问题,和尚简单记录整理一下。...A1: 升级 Android 12 对应 Gradle 版本 历史版本 Gradle 对应版本是 3.3.3,升级到最新的 7.0.4; classpath 'com.android.tools.build...A6: 升级华为 HMS 库版本 classpath 'com.huawei.agconnect:agcp:1.5.2.300' Q7: 使用 Intent 过滤器的 Service 需设置 exported...A10: 根据业务设置 PendingIntent 可变性 PendingIntent 是一个可以给另一个应用程序使用的 Intent,PendingIntent 接收待处理意图的应用程序可以使用与产生待处理意图的应用程序相同的权限和身份执行待处理意图中指定的操作

    2.7K20

    Android Studio你不知道的调试技巧

    你有关注过Android Studio旁边断点的区别吗?比如上图三个断点什么不同?且听我一一道来。...调试基础 一般来说我们两种办法调试一个debuggable的apk;其一是下好断点,然后用debug模式编译安装这个app;其二是 attach process,在Android Studio里面就是这么一个对话框...忘了说了,快捷键 Alt + F8 :P 条件断点 假设你的断点在一个列表的循环里面,可是你只对这个列表的某一个元素感兴趣,只想在遇到这个元素的时候才断下来;你是一直人肉 F9 直到满足条件吗?...异常断点 在有些情况下,我们只对某些特定的异常感兴趣,或者我们只对异常感兴趣;我们希望只要程序发生异常程序就能断下来;这好像保存现场一样,只要发生命案了(异常),第一时间保存现场,这样什么指纹之类的线索就会清晰很多...有没有这样一种场景:你发现某个值莫名其妙滴不知道什么时候被谁给修改了,罪魁祸首是谁?

    47310

    OpenCV3 安卓应用编程:1~6 全

    提示 如果您已经一个 Android 开发环境或另一个 Java 开发环境,并且只想向其添加组件,则以下某些步骤可能不适用于您。 步骤如下: 从这个页面下载并安装 Oracle JDK 7。...创建一个值为的变量ANT_HOME。 Python 2.6 或更高版本(但不是 3.0 或更高版本):这是某些的 OpenCV 构建脚本使用的脚本语言。...该项目两个版本: OpenCV 3.x 的版本位于这个页面。 OpenCV 2.x 的版本位于这个页面。...一个活动从其父(创建该活动的活动)接收意图,并在其完成时从其子(创建的活动)接收意图。 通信活动可能在不同的应用中。 一个意图可能包含称为extras的键值对。...该项目两个版本: OpenCV 3.x 的版本位于这个页面。 OpenCV 2.x 的版本位于这个页面。

    5.3K10

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

    " android:exported="false"/> 另外,这种情况很少见,但是当服务仅在应用中使用时,不要设置意图过滤器。...4.4.2.2 小心并安全地处理收到的数据(必需) 与“活动”相同,如果是“服务”,则在处理收到的意图数据时,你应该做的第一件事是输入验证。 同样在服务的用户方,必要验证来自服务的结果信息的安全性。...4.4.2.6 如果目标是固定的,使用显式意图(必需) 当通过隐式意图使用服务时,如果意图过滤器的定义相同,则意图会发送到首先之前的服务。...如果之前安装了恶意软件,它故意定义了同一个意图过滤器,则意图会发送到恶意软件并发生信息泄露。 另一方面,当通过显式意图使用服务时,只有预期的服务会收到意图,所以这样更安全。...在 Android OS 权限安全模型中,只有已被授予适当权限的应用,才能直接访问受保护的素材。 但是,存在一个漏洞,因为具有素材权限的应用可以充当代理,并允许非特权应用访问。

    96710

    Android Studio你不知道的调试技巧

    几种不同的断点 你有关注过Android Studio旁边断点的区别吗?比如上图三个断点什么不同?且听我一一道来。...调试基础 一般来说我们两种办法调试一个debuggable的apk;其一是下好断点,然后用debug模式编译安装这个app;其二是 attach process,在Android Studio里面就是这么一个对话框...异常断点 在有些情况下,我们只对某些特定的异常感兴趣,或者我们只对异常感兴趣;我们希望只要程序发生异常程序就能断下来;这好像保存现场一样,只要发生命案了(异常),第一时间保存现场,这样什么指纹之类的线索就会清晰很多...有没有这样一种场景:你发现某个值莫名其妙滴不知道什么时候被谁给修改了,罪魁祸首是谁?...作者介绍:田维术, 90后程序猿,毕业于华中科技大学,EE专业,骨灰级Android开发,他的博客很多不错的Android开发文章,点击阅读原文,一键到达他的博客。

    1.3K100

    Android开发 - NFC基础

    那些想要处理被扫描到的NFC标签的应用程序可以声明一个意图过滤器(declare an intent filter ),并要求处理这些数据。...ACTION_TECH_DISCOVERED意图一个备用的方式,当ACTION_NDEF_DISCOVERED时没有被注册到过滤器,或者有效载荷数据不是NDEF数据时。...因此,Android4.0或更高版本的设备下,如果使用的AAR,下面的意图过滤器不是技术上必须的: 了这个意图过滤器,现在当它扫描一个NFC标签,或接收到一个AAR的类型com.example.android.beam...即使AARS保证了应用程序被启动或下载,仍然建议使用意图过滤器。因为它可以让你启动您选择的应用程序中的Activity,而不是总是启动一个AAR指定的包内的主Activity。

    2.2K00

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

    那些想要处理被扫描到的NFC标签的应用程序可以声明一个意图过滤器(declare an intent filter ),并要求处理这些数据。...ACTION_TECH_DISCOVERED意图一个备用的方式,当ACTION_NDEF_DISCOVERED时没有被注册到过滤器,或者有效载荷数据不是NDEF数据时。...因此,Android4.0或更高版本的设备下,如果使用的AAR,下面的意图过滤器不是技术上必须的: 了这个意图过滤器,现在当它扫描一个NFC标签,或接收到一个AAR的类型com.example.android.beam...即使AARS保证了应用程序被启动或下载,仍然建议使用意图过滤器。因为它可以让你启动您选择的应用程序中的Activity,而不是总是启动一个AAR指定的包内的主Activity。

    93010

    Android 进程保活】应用进程拉活 ( 应用进程拉活简介 | 广播拉活 | 显示广播与隐式广播 | 全家桶拉活 )

    7.0 ( API Level 24 ) 开始对广播进行了限制 ; Android 8.0 ( API Level 26 ) 限制更严格 , 基本就禁止了这种做法 ; 在该版本及以后的版本中无法在 AndroidManifest.xml...清单文件中注册接收隐式广播的广播接收者 ; ( 几种特例 ) Android 8.0 ( API Level 26 ) 后仅有少数几个隐式广播 , 可以在AndroidManifest.xml 清单文件中注册接收到的...: Android 官方文档 - Oreo 版本适配 : 后台执行限制 Android 官方文档 - Intent 和 Intent 过滤器 三、 显示广播与隐式广播 ---- Intent 类型 :...显示 Intent : Intent 中提供了软件包名 或 组件的全类名 ; 如 设置 组件 Class 对象 ; 隐式 Intent : 没有指定特定的组件 , 允许其它应用组件处理该意图 ; 如...官方文档 - Oreo 版本适配 : 后台执行限制 Android 官方文档 - Intent 和 Intent 过滤器 四、 全家桶拉活 ---- 全家桶拉活 : 多个应用之间使用显示广播互相拉活

    65620

    安卓应用安全指南 4.7 使用可浏览的意图

    可以假设的是,它们滥用应用功能,通过准备一个恶意网站,它的链接的 URL 具有不正确的参数,或者它们通过欺骗智能手机用户安装恶意软件,它包含相同的 URI 模式,来获取包含在 URL 中的信息。...”时,需要遵循以下规则: 4.7.2.1 (网页端)敏感信息不得包含在相应链接的参数中(必需) 当点击浏览器中的链接时,会发出一个意图,该意图的数据中有 URL 值(可以通过Intent#getData...获取),并且带有相应意图过滤器的应用,从 Android 系统启动。...此时,当几个应用设置意图过滤器来接收相同的 URI 模式时,应用选择对话框将显示,与隐式意图正常启动相同,并启动用户选择的应用。...因此,在使用 URL 参数之前,必要验证 URL 参数的安全性,例如,检查是否包含意外值。

    54110

    实战 | Elasticsearch自定义评分的N种方法

    (2)b是一个常数,它的作用是规定L对评分的影响多大。加了L和b的公式变为: TF Score = ((k + 1) * tf) / (k * (1.0 - b + b * L) + tf) ?...must_not子句中的条件被视为过滤器。它会影响文档是否包含在结果中,但不会影响文档的评分方式。在must_not里还可以显式指定任意过滤器,以基于结构化数据包括或排除文档。...5.4.4 实战常见问题 星球提问:有没有办法让同一个索引里面对固定的查询返回的相关性评分是在固定的范围之内的?...这样就可以知道对某些词语或文档的搜索,在索引里面是否满足相关性的文档了。 回答: 参数1:"modifier": "log1p",使得评分结果平滑。...但,如果对全部有序的结果集进行重新排序的话势必开销会很大,使用rescore_query只对结果集的子集进行处理。

    6.1K31
    领券