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

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

由于意图过滤器特性,以及工作原理,即使您打算向内部私有活动发送意图,如果通过意图过滤器发送,则可能会无意中启动另一个活动。...活动启动模式可以在AndroidManifest.xml文件android:launchMode属性中显式设置,但由于上面解释原因,这不应该在活动声明中设置,并且该值应该保留为默认"standard...因此必要在执行期间不更改Activity启动模式。...这是因为,即使通过软件包名称限制目标,恶意应用仍可能伪造与真实应用相同软件包名称。 为了消除这种风险,必要考虑使用伙伴或内部活动。...例如,从启动器启动活动始终是根活动。 根活动更多详细信息,请参阅“4.1.3.3 发送到活动意图”和“4.1.3.4 根活动”。

1.3K20

Android端SpyNote恶意软件技术层面深度剖析

一般来说,我们下列几种方法来为应用程序创建入口点: 1、通过处理MAIN和LAUNCHER类型Intent启动器Activity; 2、后台运行服务; 3、广播接收器,当系统发送应用程序期望广播时被调用...; 4、应用程序中定义attachBaseContext方法声明; App隐藏 安装后,我们注发现在应用程序启动器中是看不到该应用程序。...中不指定启动器Activity Intent(CATEGORY_LAUNCHER); 如下图所示,SpyNote启动器Activity并没有CATEGORY_LAUNCHE,这样就可以达到隐藏目的了...除了隐藏安装之外,SpyNote还会将其从Android设备“最近使用应用”页面中隐藏自己活动,这一点可以通过在AndroidManifest.xml中将android:excludeFromRecents...文件中为指定URL添加intent过滤器等); 3、使用一个单独启动器App,这个App只会向恶意软件发送intent,恶意软件接收到intent后便会启动; 分析后发现,SpyNote恶意软件应用程序可以通过外部触发器启动

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

《Monkey Android》第5课之剖析第一个App

MainAcivity.java代码分析 顾名思义,Main意思是主要,Acivity意思是活动;那么,MainAcivity.java源文件作用肯定就是: 主要活动窗口。...2.一个复写(Override)方法onCreate,为什么要复写它呢? 3.setContentView()方法又是做什么呢?...给翻译一下就是: 所有在App中能看到和做都是在Activity上。...表示此Acivity是一个启动器, 显示在Launcher中; action和category同时作用表示该activity是App启动时加载第一个Activity。...下课 学习了本节课程,相信一定能够大致懂得第一个App里面不同文件作用,为自己写出代码作铺垫。 什么问题请在下面留言评论,我们一起进步!

45520

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

例如,当默认活动启动器启动时,此活动将是根活动。 根据 Android 规范,发送到根Activity意图内容可以从任意应用中读取。 因此,必要采取对策,不要将敏感信息发送到根活动。...被调用活动成为根活动,取决于以下内容。 被调用活动启动模式 被调用活动任务及其启动模式 首先,让解释一下“被调用活动启动模式”。...singleTop 这个启动模式和“标准”相同,除了启动一个活动,它显示在前台任务最前面时,不会生成实例。 singleTask 这个启动模式根据 Affinity 值确定活动所属任务。...singleInstance 与singleTask相同以下几点不同。 只有根活动可以属于新生成任务。 因此,通过此模式启动活动实例,始终是根活动。...此时,发送给私有活动敏感信息,在任务历史中记录,因此可以从其他应用读取。 仅供参考,调用方活动和私有活动都具有相同 Affinity。 AndroidManifest.xml(不推荐) <?

1.4K20

Android:双11已经过了双12都要到了,还不给你APP加上自动换图标的功能吗?

为此,特意查看了手机上某宝APP的当前版本,并对比了历史版本上图标,发现并不对应。 默认是88会员节专属图标,而现在显示是双11图标。...了以上知识储备后,下面就该剖析一下这个需求具体场景了。...场景剖析 以电商类APP双11活动为例,在双11活动开始前某个时间点(比如10天前)就要开始对活动预热,此时就要实现图标的自动更换,而在活动结束之后,也必须要能更换回正常图标,并且要求过程尽量对用户无感知...,定义一个数据类: /** * 切换图标任务 */ data class SwitchIconTask (val launcherComponentClassName: String, // 启动器组件类名...开放添加图标切换任务接口,做好参数合法性校验: /** * 启动器图标管理器 */ object LauncherIconManager { /** 切换图标任务Map */

3.1K20

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

需要注意是,给主活动指定label不仅会成为标题栏中内容,还会成为启动器(Launcher)中应用程序显示名称。  ...另外需要注意,如果你应用程序中没有声明任何一个活动作为主活动,这个程序仍然是可以正常安装,只是你无法在启动器中看到或者打开这个程序。...唯一问题在于,你在启动器中点击应用图标只会进入到该应用活动,那么怎样才能由主活动跳转到其他活动呢?我们现在就来一起看一看。...需要注意是,虽然我们声明了ThirdActivity是可以响应打开网页Intent实际上这个活动并没有加载并显示网页功能,所以在真正项目中尽量不要出现这种可能误导用户行为,不然会让用户对我们应用产生负面的印象...那么这样做什么意义呢?想象以下场景,假设我们程序中有一个活动是允许其他程序调用,如果我们想实现其他程序和我们程序可以共享这个活动实例,应该如何实现呢?

2.9K20

Android Oreo 常见问题 2.0 | Android 开发者 FAQ Vol.9

总而言之,本期 Android 开发者 FAQ 为大家带来了一些关注度较高问题及相应解答,这些问题有的是我们在微信公众平台收到留言,快来看看您提问题上墙了吗?...希望阅读本期 FAQ后,您问题都能迎刃而解。 Q: 什么时候能更新到 Android 8.0 Oreo ? 设备适配吗? ?...A: 通知圆点没有提供在上述设备默认启动器(Launcher)中支持(即便您可以在 Setting 中看到开关通知圆点选项)。...您可以在 Google Play Store 上下载支持这个特性其他启动器。 Q: 怎么开启 Nexus 5X / 6P 以及 Pixel C 上 “自动打开 Wi-Fi” 功能? ?...以上就是新一批开发者常见问题和我们收到留言中经常出现 Android Oreo 问题了。当然,如果您在使用期间遇到任何问题,或者您用户问出来什么值得注意问题,也请随时向我们反馈。

1.9K70

【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity

标题图 问:达叔,你放弃了吗? 答:不,放弃是不可能,丢了Android,你会心疼吗?如果别人把你丢掉,你是痛苦呢?还是痛苦呢?~ 引导语 有人说,爱上一个人是痛苦,有人说,喜欢一个人是幸福。...你面前热水,如果时间长了也会变凉。想拼搏那就去做,想休息一下那就静下心来。 问:哥,那今日讲什么?...AndroidManifest配置文件: 它包含Android应用全局配置文件,包括应用包名,应用程序图标,应用程序采用主题,与用户交互工具,权限等信息。...停止状态: activity被完全覆盖,保持所有状态和成员信息,如点击Home效果,为暂停,当重新打开,该活动再次获得焦点。 非活动状态: activity被销毁,即退出应用。...activity创建,启动,关闭: 一:继承AppCompatActivity类或Activity类,重写onCreate()方法; 二:启动startActivity()方法来启动需要activity

1.2K20

Android面试题大全

跨进程通讯几种方式 Android中为什么子线程不能更新UI 如果不做这个校验,是不是也可以正常在子线程更新UI 但是google为什么要这样去设计呢 ViewRootImp是在onActivityCreated...在 android stdio会自动生成, eclipse 需要自己手动添加 定义与作用: Activity 中文意思是 活动,代表手机屏幕一屏,或是平板电脑中一个窗口,提供了和用户交互可视化界面...一个活动开始,代表 Activity 组件启动活动 结束,代表一个 Activity 生命周期结束。...为什么还需要开启消息循坏 // 保证上述条件1成立,不就可以避免checkThread时候抛出异常了吗?为什么还需要开启消息循坏?...那么如何利用系统漏洞呢,大致实现思路和代码如下: 思路一:API < 18,启动前台Service时直接传入new Notification(); 思路二:API >= 18,同时启动两个id相同前台

1.3K50

探究 | App Startup真的能减少启动耗时吗

所以我们才无需单独对Facebooksdk进行初始化。 虽然更方便了,但是这种做法启动优化带来什么好处吗?...如果是线下app,我们可以采用视频录制方法准确测量启动时间,也就是通过判定视频每一帧截图来知晓什么时候app启动了,然后统计这个启动时间。...手机坏了吗?怎么跟预想不一样啊,结果耗时还增加了? 按道理来说原来两个ContentProvider,用了App startup,集成为一个,耗时不应该减少么。...但是如果我们其他需求,比如上述说到延迟初始化,异步初始化等问题,我们就要关闭部分库或者所有库App Startup功能,然后自己单独对任务进行初始化工作,比如通过启动器来处理各个初始化任务关系...,一起学习小伙伴可以关注下公众号——码上积木❤️❤️ 每日三问知识点/面试题,积少成多。

1.6K51

Ulauncher:一个超级实用 Linux 应用启动器 | Linux 中国

应用启动器可以让你快速访问或打开一个应用,而无需在应用菜单图标上徘徊。 在默认情况下,发现 Pop!_OS 应用启动器超级方便。但是,并不是每个 Linux 发行版都提供开箱即用应用启动器。...幸运是,一个你可以在大多数流行发行版中添加应用启动器方案。 Ulauncher:开源应用启动器 Ulauncher 是一个使用 Python 还有 GTK+ 构建快速应用启动器。...它提供了相当数量自定义和控制选项来进行调整。总的来说,你可以调整它行为和体验以适应你喜好。 让来说一下你可以期待它一些功能。...image.png 一些默认快捷键,如 g XYZ,其中 “XYZ” 是你想在谷歌中搜索搜索词。...你试过 Ulauncher了吗?欢迎你就如何帮助你快速完成工作分享你想法。

1.3K20

Java热门框架【SpringBoot】快速入门教程

SpringBoot作为当下Java开发最常用技术框架,相信你也一定听过很多次了。 那么到底什么是SpringBoot?SpringBoot又有什么用呢?...和所有框架一样,Spring实用,与此同时它要求回报也不少。 除此之外,项目的依赖管理也是一件耗时耗力事情。...发展到现在,Spring Boot已经具有很大生态圈,各种主流技术已经都提供了Spring Boot启动器启动器?...如果是Spring自己封装启动器artifact id名字满足:spring-boot-starter-xxxx,如果是第三方公司提供启动满足:xxxx-spring-boot-starter。...现在你知道什么是SpringBoot了吗?赶快掌握吧!动力节点springboot视频中还有更多内容~ https://www.bilibili.com/video/BV1XQ4y1m7ex

36220

Android 进阶2:Activity Task 与启动模式

Android 中 Task 是什么 我们知道,一个应用中可能有多个 Activity,而这些 Activity 被以栈形式管理。...应用中 Task 名默认为包名,我们可以使用 taskAffinity 标签在 AndroidManifest.xml 中指定某个 Activity 要属于 Task 名称: <activity...当用户触摸应用启动器图标(或主屏幕上快捷方式)时,该应用 Task 将出现在前台。...如果用户稍后通过选择开始任务启动器图标来恢复任务,则该 Task 将出现在前台并恢复执行堆栈顶部 Activity。 注意: 后台可以同时运行多个任务。...和 singleTask 还是一定区别的 如果当前 Task 已经启动 Activity,就不会直接创建新,但是还要分下面两种情况 如果这个 Activity 启动模式是 standard

1.5K50

Activity启动模式

在Android程序中,应用程序通过活动栈来管理Activity,活动栈中有多少个Activity对象,我们在退出程序时候就要按多少下返回键(即要将活动栈中所有Activity出栈),但是这样的话难免会有活动栈中存在相同...首先,我们Activity对象在我们在Android工程AndroidManifest.xml配置文件中注册,之后才可以被我们程序使用,而在我们注册Activity时,一个launchMode属性是可以赋值...办法就是将我们Androidmanifest.xml文件中MainActivitylaunchMode属性改一下,变成singleTop,什么变化呢,我们仍然来做个实验: 将这个Android工程新增一个...然后我们再点击一下“启动SecondActivity”按钮,我们会发现LogCat信息并没有什么变化,此时也只需要点击两次BACK键就能退出程序。...最后总结一下4种启动模式: standard:不管要启动Activity是否已经存在与活动栈,都会创建一个新Activity对象处于活动栈栈顶。

58710

Java源码混淆,jar包加密,禁止反编译jar包

这是参与「掘金日新计划 · 10 月更文挑战」第32天,点击查看活动详情 对jar包加密 使用 XJar 对jar包进行加密。...在不同平台下编译会得到不同平台启动器。Windows下编译启动器不能在linux下使用 go build xjar.go xjar.go前面有说过,是Go启动器源码文件....将 xjar.go 在不同平台进行编译即可得到不同平台启动器可执行文件, 其中Windows下文件名为 xjar.exe 而Linux下为 xjar(再次说) 由于启动器自带JAR包防篡改校验, 故启动器无法通用..., 即便密码相同也不行(强调) ☘️启动加密jar包 /path/to/xjar /path/to/java [OPTIONS] -jar /path/to/encrypted.jar [ARGS]...Go启动器可执行文件名(xjar)即可启动运行加密后JAR包.

7410

Spring Boot最常见面试题

从本质上讲,虽然Spring是不受欢迎Spring Boot对平台和库了自己看法,让我们快速入门。...使用启动父项目很方便,并不总是可行。例如,如果我们公司要求所有项目都从标准POM继承,我们就不能依赖Spring Boot启动父级。...这种命名模式使您可以轻松找到启动器,尤其是在使用支持按名称搜索依赖关系IDE时。 在撰写本文时,我们超过50个启动器。...九、哪些可能外部配置源? Spring Boot支持外部配置,允许我们在各种环境中运行相同应用程序。我们可以使用属性文件,YAML文件,环境变量,系统属性和命令行选项参数来指定配置属性。...这些文件与非特定属性文件位于相同位置,并且优先于非特定属性文件。 十、Spring Boot支持轻松绑定是什么意思? Spring Boot中轻松绑定适用于配置属性类型安全绑定。

1.4K30

苏州 开源自主 dotnet 生态

,需要有不同启动器。...启动器作用就是让 dotnet 运行时跑起来,启动器需要对不同平台构建不同版本,作为应用入口。在启动了运行时之后,将进行 JIT 解析执行 IL 内容,执行应用逻辑。...为什么需要这样一个启动器呢,其中一个原因是为了更好跨平台。...每个平台都有自己定义可执行文件格式,为了让 dotnet 更好适配性(不要去碰具体平台意思),咱需要在具体平台上,需要有不同启动器。...欢迎转载、使用、重新发布,务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后作品务必以相同许可发布

95220
领券