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

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

虽然可以将整个证书存储白名单,但为了使文件大小最小,仅存储 SHA-256 散列值就足够了。...发送到任务根Activity意图,被添加到任务历史。 根活动是在任务启动第一个活动。 任何应用都可以通过使用ActivityManager类,读取添加到任务历史意图。...可以通过AndroidManifest.xml编写android:launchMode来设置Activity启动模式。 当它没有编写时,它被认为是“标准”。...接下来,将解释“被调用活动任务及其启动模式”。 即使Activity以“标准”模式调用,它也会成为根Activity。某些情况下,取决于Activity所属任务状态。...因此,开发应用时,最好设法以“标准”来调用活动。 这是一个示例,其中发送给私有活动意图可以从其他应用读取。示例代码表明,私有活动调用方活动以singleInstance模式启动

1.4K20

iOS 前台重启应用和清除角标的问题已知条件:问题描述:调试分析解决问题

//这个进入后台时清除角标的操作会造成:应用在前台时被强制关闭后,立马重启应用后会调用方法applicationWillEnterForeground:,正常情况下重新启动应用时并不执行它. /...,手动强制重启应用后,发现没有正常加载启动屏,加载启动屏是退入后台时应用截屏。...应用启动时应该不会执行 applicationWillEnterForeground 方法呀!” 如下示意图加了个弹窗验证: ?.../这个发送本地通知操作是为了解决iOS10之前清除角标的同时可以保留通知内容问题 //这个清除角标的操作只进入后台时执行才会造成:应用在前台时被强制关闭后,立马重启应用后会调用方法applicationWillEnterForeground...因为把应用角标值置为0的话会把之前收到通知栏内通知内容都清空,这样显然是不合理;如果置为-1的话,不但能保留以前通知内容,还有角标消失动画,iOS10之前这样设置是没有作用 ,iOS10之后才有效果

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

Android Intent漏洞

如 例如,如果你应用构建一个名为DownloadService服务,用于从Web下载文件,可以使用以下代码启动: // Executed in an Activity, so 'this' is...这可用于创建一个代理组件(活动、广播接收器或服务),该组件采用嵌入式意图并将其传递给危险方法,如startActivity()或 sendBroadcast()因此,可以强制应用启动无法直接从其他应用启动未导出组件...就其本身而言,启动隐藏组件不会产生太大安全影响,并且需要滥用隐藏组件功能: 旁路保护 开发人员可以实现对收到意图过滤和显式设置组件以处理意图 为null: intent.setComponent...(null);//null 让系统为您找到一个 在这种情况下可以通过指定未导出组件来绕过应用显式意图保护选择器: Intent intent = new Intent(); intent.setSelector...但是,开发人员可以将选择器显式设置为 null: intent.setComponent(null); intent.setSelector(null); 即便如此,您也可以创建一个隐式意图来匹配 某些未导出活动

48730

AndroidMainifest标签说明2——<activity>

这个属性用来标记应用task是否保持原来状态,“true”表示总是保持,“false”表示不可以保证。 默认情况下。假设一个应用在后台呆太久比如30分钟。...这个參数意思是不管何时这个activity都会从home screen又一次启动,也就是仅仅要你按了桌面的图标。这个活动就是第一个发起。...通常情况下,一个新实例一个活动启动过程定义应用程序,所以活动全部实例执行在同样进程。...android:permission 权限名称,客户必须启动活动或让它回复意图。...“adjustResize” 活动主窗体总是会去调整大小使软键盘在窗体 “adjustPan” 活动主窗体不是软键盘调整大小以腾出空间。

1.5K00

安卓软件开发_应用程序UI组件意外停止

然而活动通常以全屏方式展示给用户,也可以以浮动窗口或嵌入另外一个活动。...一个应用程序可能只包含一个活动,或者像刚才提到短信应用,它可能包含几个活动。这些活动是什么,以及有多少,当然这取决于它应用和设计。一般来讲,当应用程序被启动时,被标记为第一个活动应该展示给用户。...注意:如果你Activity.onResume() 注册一个接受者,你应该在Activity.onPause()注销它。因为当暂停时你不会收到意图,注销它将削减不必要系统开销。...然而,它们启动一个活动去响应收到信息,或者他们可能使用NotificationManager去通知用户。通知可以使用多种方式获得用户注意——闪烁背光、振动设备、播放声音等等。...每当有一个应该由特定组件处理请求,Android可以确保该组件应用程序正在运行,如果没有启动它,而且一个适当组件实例可用,如果没有就创建。

1K10

大话企业级android读书笔记(二)

在这期间,频繁地重用和暂停状态转换——例如,当设备进入睡眠状态或一个新活动启动时调用onPause(),当一个活动返回或一个新意图被传输时调用onResume()。...注意上面表格Killable列,它表示当方法返回时没有执行活动其它代码,系统是否能杀死活动寄宿进程。三个方法(onPause()、onStop()、onDestroy())标记为Yes。...其实,没有标记为Killable活动也是可以系统被杀掉,不过这仅仅发生在极端困难情况下没有有任何其他资源可用。...startService()和bindService()区别:startService(),Service是通过接收Intent经历onCreate()和onStart(),当用户发出意图使之销毁时会经历...(),然后是onDestory(). android接收员:BroadcastReceiver 广播接收者用于异步接收广播Intent 广播接收者没有界面,但是接收到消息后可以启动一个Activity

1K50

返回数据给上一个活动

一个是 //第一个参数是intent买第二个是请求吗,用来判断数据来源 这个方法就是活动销毁时返回一个结果给上一个活动,需要 接受两个参数。...第一个参数是intent买第二个是请求吗,用 来判断数据来源。 ? 主要活动里面写 ? 第二个活动里面写响应 接着给第二个按钮注册监听器 点击事件添加返回数据逻辑。...","第一个活动"); setResult(RESULT_OK,intent); finish(); 构建这个意图就是去传递数据而已。...二是我们返回数据时传入处理结果 三是data,携带有返回数据Intent由于活动里面可能会调用这个函数去启动不同活动,每一个活动返回数据都会回调到 ? 这个方法里面来检查值 ?...你点第二个按钮日志里面会有打印 ? Intent提供了一种不同应用程序代码之间执行后期运行时绑定功能。它最重要用途是启动活动时,可以将其视为活动之间粘合剂。

1K20

Android-使用Intent传递数据

向下一个活动传递数据 Intent不仅可以用来启动活动,还可以启动活动时候传递数据。...思路很简单,Intent提供了一系列putExtra()方法重载, 可以把我们想要传递数据暂存在Intent启动了另一个活动后, 再把这些数据从Intent取出就可以了。...StartActivityForResult()接收两个参数, 第一个参数还是Intent, 第二个参数是请求码,用于回调判断数据来源。...“意图”,把要传递数据存放在Intent,调用setResult()方法, 专门用于向上一个活动返回数据,接收两个参数, 第一个参数用于上一个活动返回处理结果,一般使用RESULT_OK和RESULT_CANCELED...值来判断数据来源, 确定数据是从SecondActivity返回通过resultCode值来判断处理结果是否成功, 最后从data取值打印出来。

1.1K30

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

要更改任务分配,您可以AndroidManifest.xml文件显式声明 Affinity,或者您可以发送给活动意图中,设置一个标志。...默认情况下,它被设置为"standard"。 "standard"设置,新实例总是启动活动时创建,任务遵循属于调用活动任务,并且不可能创建新任务。...活动启动模式可以AndroidManifest.xml文件android:launchMode属性显式设置,但由于上面解释原因,这不应该在活动声明设置,并且该值应该保留为默认"standard...启动模式,并且某些情况下可能会生成新任务。...另一方面,私有活动永远不会直接从其他应用收到任何意图,但目标应用公共活动可能会将恶意Intent转发给私有活动,因此您不应该认为私有活动不会收到任何恶意输入。

1.3K20

安卓应用安全指南 5.3.2 将内部账户添加到账户管理器 规则书

5.3.2.4 使用显示意图提供KEY_INTENT,带有登录界面活动指定类名称(必需) 当认证器需要打开登录界面活动时,启动登录界面活动意图,会在返回给账户管理器 Bundle ,由KEY_INTENT...所提供意图应该是指定登录界面活动类名显式意图使用隐示意图,它指定动作名称情况下,有可能并不启动由认证器应用本身准备登录界面活动,而是其他应用准备活动。... Android 操作系统存在漏洞情况下,攻击者可以获得 root 权限或系统权限,保存在accounts.db认证信息将处在风险边缘。...认证令牌被禁用情况下,用户可以再次输入密码以获得新认证令牌。 如果在密码泄漏时禁用密码,用户将无法再使用在线服务。 在这种情况下,它需要呼叫中心支持等,这将花费巨大成本。...因此,最好从设计避免账户管理器中保存密码。 不能避免保存密码设计情况下,应该采取高级别的逆向工程对策,如加密密码和混淆加密密钥。

98320

安卓入门-第二章-探究活动

另外需要注意,如果你应用程序没有声明任何一个活动作为主活动,这个程序仍然是可以正常安装,只是你无法启动器中看到或者打开这个程序。...这个构造函数接收两个参数: 第一个参数Context 要求提供一个启动活动上下文 第二个参数Class 则是指定想要启动目标活动,通过这个构造函数就可以构建出Intent 意图”。  ...对于使用standard模式活动,系统不会在乎这个活动是否已经返回栈存在,每次启动都会创建该活动一个新实例。  ...当活动启动模式指定为singleTask,每次启动活动时系统首先会在返回栈检查是否存在该活动实例,如果发现已经存在则直接使用该实例,并把在这个活动之上所有活动统统出栈,如果没有发现就会创建一个新活动实例...如果讲第二个活动设置为单例启动模式,就是放入单独一个栈,然后使活动一按钮指向活动二,活动二按钮指向活动三,这样就会发现: ?

2.9K20

Android:Intent介绍 & 使用方法

前言 IntentAndroid开发应用非常常见,今天就带给大家简单讲一下Intent相关知识及其用法。 ---- 目录 ? ---- 1....使用1:指定当前组件要完成动作 该使用 分为显式 & 隐式意图: 3.1 显式意图 特点 明确指定需启动组件名 即 显式Intent不需 解析Intent 则可直接启动目标组件 具体使用...实例化显式Intent & 通过构造函数接收2个参数 // 参数1 = Context:启动活动上下文,一般为当前Activity // 参数2 = Class:是指定要启动目标活动...使用2:不同组件间 传递数据 使用方法 在当前Activity把要传递数据暂存在Intent(通过PutExtra() )、启动Activity取出Intent数据 可传递数据类型...总结 本文对AndroidIntent组件进行了全面的介绍 接下来将继续介绍 Android开发相关知识,有兴趣可以继续关注Carson_Ho安卓开发笔记 请帮顶 / 评论点赞!

1.2K20

AndroidStdio1_5

启动活动时传递数据思路很简单,Intent中提供了一系列putExtra()方法重载,可以把我们想要传递数据暂存在Intent启动了另一个活动后,只需要把这些数据再从Intent取出就可以了...既然可以传递数据给下一个活动,那么能不能够返回数据给上一个活动呢?答案是肯定。 不过不同是,返回上一个活动只需要按一下Back键就可以了,并没有一个用于启动活动Intent来传递数据。...可以看到,我们还是构建了一个Intent,只不过这个Intent仅仅是用于传递数据而已,它没有指定任何意图”。紧接着把要传递数据存放在Intent,然后调用了setResult()方法。...onActivityResult()方法带有三个参数: 第一个参数requestCode,即我们启动活动时传入请求码。 第二个参数resultCode,即我们返回数据时传入处理结果。...栈是一种后进先出数据结构,默认情况下,每当我们启动了一个新活动,它会在返回栈入栈,并处于栈顶位置。

60930

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

隐式意图和显式意图: 显式意图:显式意图明确指明了启动活动上下文和想要启动目标活动,显式意图明确指定了Intent应该传递给哪个组件。 隐式意图没有明确指定组件名Intent为隐式意图。...,或者不加,和tel:类似,这里不是拨打电话,所以可以不加,主要为了符合约束条件 关于显式意图case R.id.id_btn3: Intent intent1 = new Intent...activity回传数据给第一个activity 实验要求:编程实现具有“登录”按钮主界面,点击“登录”按钮后打开另一个新Activity,新打开Activity输入用户名、密码等个人信息,...如果活动显式返回,则不会返回任何结果,或者操作期间崩溃,resultCode将为RESULT_CANCELED。 当您活动重新启动时,您将在onResume()之前立即收到此调用。...由于一个活动中有可能调用startActivityForResult()方法去启动很多不同活动,每一个活动返回数据都会回调到onActivityResult()这个方法,因此我们首先要做就是通过

1.2K10

Google Rich Media多个授权绕过漏洞

管理员可以给不同广告客户访问活动,以及通过QA管理它(所有通过权限管理)和留下评论等等。因为不太了解营销活动流程,所以我不确定对这个平台具体功能定义是否准确。...http://s0.2mdn.net/ads/richmedia/studio/pv2/61580927/20201004040915088/xsspng.png 这些直接链接也可以没有身份验证情况下访问...第二个漏洞:访问其他用户活动(5000美元漏洞奖励) 说实话,这个太简单了,都没想到。还记得之前提到过一个角色管理系统吗?你可以在这里创建一个账户,而无需访问QA仪表盘。...最后两个字符串“DlQXE”和“DlQWU”引起了注意—它们似乎是表示实际要访问文件字符串。系统,很明显这些字符串实际上是表示系统特定活动ID。...没错,-作为一个不同用户登录并获得了另一对ID。然后尝试第一个用户cookies中使用这个ID,并且能够获得第二个用户文件URL链接。

2.2K20

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

4.4.2.2 小心并安全地处理收到数据(必需) 与“活动”相同,如果是“服务”,则在处理收到意图数据时,你应该做第一件事是输入验证。 同样服务用户方,有必要验证来自服务结果信息安全性。...请参阅“4.1.2.5 小心并安全地处理收到意图(必需)”和“4.1.2.9 小心并安全地处理从被请求活动返回数据”。 服务,你还应该小心实现调用方法,并通过消息交换数据。...4.4.2.4 不要在onCreate判断服务是否提供自己函数(必需) onCreate不应包含安全检查,例如意图参数验证,或内部定义签名权限验证,因为服务运行期间接收到新请求时,不会执行onCreate...所以,实现由startService启动服务时,应该由onStartCommand来执行判断(使用IntentService情况下,判断应该由onHandleIntent来执行)。...实现由bindService启动Service情况下也是一样,判断应该由onBind执行。

94910

发现Cisco IOS XEWeb管理用户界面漏洞在野利用

为了使植入程序生效,必须重新启动网络服务器;至少一个观察到案例,服务器没有重新启动,因此尽管安装了植入程序,但它从未激活。...植入程序不是持久性,这意味着设备重新启动会将其删除,但新创建本地用户帐户即使系统重新启动后仍然保持活动状态。新用户帐户具有 15 级权限,这意味着他们拥有设备完全管理员访问权限。...这将返回一个 18 个字符十六进制字符串,该字符串被硬编码到植入程序。 第三个函数也由“logon_hash”参数决定,该参数检查参数是否与硬编码到植入程序 40 个字符十六进制字符串匹配。...大多数情况下,思科观察到安装了此植入程序,第二个函数 18 个字符十六进制字符串和第三个函数 40 个字符十六进制字符串都是唯一,尽管某些情况下,这些字符串不同设备上是相同。...这表明参与者有一种方法可以根据第二个函数返回值计算第三个函数中使用值,充当第三个函数中提供任意命令执行所需身份验证形式。

30210

【领域驱动设计】Redux 和领域驱动设计

本文中,解释了 DDD 是什么,一些关键概念,以及 Redux 如何实现其思想。理解两者,我们可以提供更好实现;来自不同世界两种方法相互碰撞并利用相同设计原则。...领域事件:是关键;它们代表原因结果;它们是事实,是已经发生事情。事件不会失败,也无法取消。应用程序任何组件都可以监听任何事件;当它们任何一个接收到事件时,它们会更新自身并因此生成新事件。...Redux 上 DDD 模式 有两种模式使 DDD 流行起来:事件溯源和 CQRS。两者都源于提高可扩展性和性能必要性,并且这两种技术通常都应用在 Redux 第一个是事件溯源。... Redux ,这称为 Time Traveling,您可能在开发人员工具调试时经常使用它。 这种模式很棒;它不仅使我们能够更快地修复错误或加快服务器上写入速度,而且有助于使应用程序更安全。...我们减少了应用程序耦合,我们可以不更改任何代码情况下从系统插入和拔出单元。 Redux 做同样解耦。每个组合减速器就像一个聚合体。当 reducer 收到一个动作时,它会独立地减少它。

1.4K30
领券