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

Android-活动的启动模式

中通过标签指定android:launchMode属性来选择启动模式。...standard standard是活动默认的启动模式,在standard模式下,每当启动一个新的活动,他就会在返回栈中入栈,并处于栈顶位置,对于使用standard模式的活动,系统不会在乎这个活动是否已经在返回栈中存在...singleTop 当启动模式指定为singleTop,在启动活动的时候,如果发现返回栈的栈顶已经是该活动,则认为可以直接使用,不会创建新的实例。...修改AndroidManifest.xml标签中主活动的启动模式: android:name=".MainActivity" android:launchMode="singleTop...那么可以使用singleTask让某个活动在整个应用程序的上下文中只存在一个实例,当活动的启动模式指定为singleTask,每次启动该活动系统会首先检查返回栈中是否存在该活动的实例,如果发现则直接使用

68820

Android的启动模式:singleTask与singleTop的使用

最近有小伙伴询问Activity的启动模式是使用singleTask好还是singleTop好,在两种模式中纠结,所以今天就简单讲解一下两种模式的使用场景!...推荐 个人博客:李益的小站 微信公众号:Code满满 Android 的四种启动模式(网上一搜一堆哦) standard:默认模式,允许多实例 singleTop:相比于standard,有新的启动请求时...,它在启动的时候,会先在系统中查找属性值affinity等于它的属性值taskAffinity的任务存在;如果存在这样的任务,它就会在这个任务中启动,否则就会在新任务中启动。...,在栈顶的Activity就是设备当前显示的Activity singleTask与singleTop一般都是为了保证Activity在任务栈中的唯一性 singleTop的使用 使用singleTop...模式的Activity在栈顶时只会在Task中存在一个实例,所以可以在以下场景中使用: 要打开的Activity处于栈顶,点击通知栏打开栈顶的Activity Activity需要启动一个Service

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

    使用 Playwright 控制浏览器的启动、停止和等待

    简介Playwright 是一个强大的自动化测试工具,它不仅可以模拟用户在浏览器中的行为,还能够灵活控制浏览器的启动、停止和等待操作。在本文中,我们将探讨如何使用 Playwright 进行这些操作。...启动停止浏览器我们之前是使用with方法来控制浏览器启动和停止,现在我们来介绍一下使用start stop来控制浏览器,代码如下:from playwright.sync_api import sync_playwrightplaywright...,我们可以加上等待来减缓执行,但是与selenium不同,playwright通过slow_mo (单位是毫秒)减慢执行速度,它的作用范围是全局的,从启动浏览器到操作元素每个动作都会有等待间隔,方便在出现问题的时候看到页面操作情况...page.click('#su') # 等待3秒 page.wait_for_timeout(3000) browser.close()运行结果如下:总结本文主要介绍了一些playwright的简单使用...,playwright的使用与selenium有一些不同,我们需要注意不同点,比如playwright默认是无头模式运行以及等待的改变。

    41210

    黑客使用漏洞通过Wi-Fi网络劫持Android中的Firefox

    尊敬的Android用户,如果您在智能手机上使用Firefox Web浏览器,请确保已将其更新到版本80或Google Play商店中的最新可用版本。...根据Moberly向Firefox小组提交的漏洞报告,受害人的Firefox浏览器的SSDP引擎可以通过简单地用指向Android的特制消息替换响应数据包中的XML文件的位置来诱骗其触发Android意图...意图URI。 为此,连接到目标Wi-Fi网络的攻击者可以在其设备上运行恶意的SSDP服务器,并通过Firefox在附近的Android设备上触发基于意图的命令,而无需受害者进行任何交互。...研究人员认为,意图允许的活动还包括自动启动浏览器并打开任何已定义的URL,这足以诱骗受害者提供其凭据,安装恶意应用程序以及根据周围场景进行的其他恶意活动。...他们只是在饮在咖啡馆的Wi-Fi上喝咖啡时,他们的设备将在攻击者的控制下开始启动应用程序URI。”

    49120

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

    Android 应用可以设计为从浏览器启动,并对应网页链接。...此外,使用 URI 模式从浏览器启动相应应用的方法不仅支持 Android,也支持 iOS 和其他平台,这通常用于 Web 应用与外部应用之间的链接等。...例如, 在 Twitter 应用或 Facebook 应用中定义了以下 URI 模式,并且在 Android 和 iOS 中从浏览器启动相应的应用。...使用“可浏览的意图”来对付这些风险时有一些要注意的地方。 4.7.1 示例代码 使用“可浏览的意图”的应用的示例代码如下: 要点: 1) (网页侧)不得包含敏感信息。...“可浏览的意图”时,需要遵循以下规则: 4.7.2.1 (网页端)敏感信息不得包含在相应链接的参数中(必需) 当点击浏览器中的链接时,会发出一个意图,该意图的数据中有 URL 值(可以通过Intent#

    54510

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

    隐式意图和显式意图: 显式意图:显式意图明确指明了启动活动的上下文和想要启动的目标活动,显式意图明确指定了Intent应该传递给哪个组件。 隐式意图:没有明确指定组件名的Intent为隐式意图。...因为使用隐式意图的Intent中会添加默认的Category,所以隐式意图必须有 android:name="android.intent.category.DEFAULT" />这个标签...resultCode, Intent data) 当您启动的活动退出时调用,为您提供requestCode,启动它,返回resultCode,以及来自它的任何其他数据。...如果活动显式返回,则不会返回任何结果,或者在操作期间崩溃,resultCode将为RESULT_CANCELED。 当您的活动重新启动时,您将在onResume()之前立即收到此调用。...由于在一个活动中有可能调用startActivityForResult()方法去启动很多不同的活动,每一个活动返回的数据都会回调到onActivityResult()这个方法中,因此我们首先要做的就是通过

    1.4K10

    关于Unicode的私人使用区(PUA) 和浏览器端显示处理

    本故事源于我在做数据过程中遇到Unicode编码中的私人使用区PUA编码的汉字,然后导入到产品端后他们说有些汉字是乱码无法显示,然后针对这个问题进行了排查。...2048个用于编码代理(UTF-16),66个非字符码位(例如BOM),137,468个预留给私人使用,最终剩余974,530用于普通字符分配。...(Supplementary Private Use Area planes) 通过这个平面表我们可以看到该字的编码在BMP中,Unicode中,私人使用区(PUA)是一系列代码点,根据定义,Unicode...联盟不会为其分配字符,定义了二个私人使用区域:一个位于基本多语言平面( U+E000-U+F8FF),一个位于并几乎覆盖平面 15 和 16(U+F0000-U+FFFFD ,U+ 100000-U+...找到对应的字体文件,并引入到html中,我们就能在任何浏览器看到这个字了。

    1.1K20

    windows使用bat编写自启动带用户登录数据的浏览器

    (虽然他建议的是我要使用异步模式,但我是指定浏览器打开,异步模式里面没有我需要的API) 使用bat脚本创建文件夹 可以使用以下的 BAT 脚本创建文件夹到 C 盘并检查它是否已存在: @echo off...解决这个问题的方法是在使用echo命令输出中文字符之前,将输出的代码页设置为UTF-8编码或其他支持中文字符的代码页。可以使用chcp命令来修改当前的代码页。...如果您使用的操作系统不支持UTF-8编码,可以使用其他支持中文字符的代码页,例如:936(中文简体)或950(中文繁体)。在这种情况下,您可以将chcp命令的参数值更改为对应的代码页编号即可。...( set "chromePath=%%a" ) echo chromepath is : %chromePath% rem 启动127.0.0.1:9222端口的谷歌浏览器 echo Start...ChromeBrowser at 127.0.0.1:9222 echo 浏览器启动完毕,输入回车键关闭当前窗口 %chromePath% --remote-debugging-port=9222

    66520

    7.Activity

    Activity时,意图中设置的action必须跟"com.itheima.sa"是完全匹配的) data :指定数据(操作什么内容) category: 类别 (默认类别,机顶盒,车载电脑) 隐式意图启动..."); startActivity(intent); 应用场景 显示意图:启动同一个应用中的Activity 隐式意图:启动不同应用中的Activity 再启动效率上,隐式远远低于显式   隐式主要用于底层一些定义好该应用的标准...(具体的标准的形式)   例如:手机中的浏览器: 有很多种(360,google,...)进行开发手机浏览器的厂商肯定要遵循谷歌的标准用户在打开某个网页时,会进行提示你选择哪种浏览器!!...4. android:path 用于指定主机名和端口之后的部分,如一段网址中跟在域名之后的内容。 5. android:mimeType 用于指定可以处理的数据类型,允许使用通配符的方式进行指定。...,给你编写的每个活动都添加类似的启动方法,这样不仅可以让启动活动变得非常简单,还可以节省不少你同事过来询问你的时间

    1.3K150

    MIT 6.858 计算机系统安全讲义 2014 秋季(三)

    私密浏览:目标、定义、威胁模型 隐私的目标是什么? 模糊的理想:(某个)用户的活动与许多其他用户的活动不可区分。 今天我们将讨论网络浏览器隐私的问题。...Android 应用程序是什么样子的? 四种组件类型: 活动: 应用程序的 UI 组件,通常每个“屏幕”一个活动。 服务: 后台处理,可以被其他组件调用。...一次只有一个活动在运行。 帮助用户推理输入的安全性。 如果用户正在运行银行应用程序(活动),则没有其他活动获取用户的输入。 意图:Android 中的基本消息原语。...例如,可以在意图过滤器中创建活动(在清单中): 示例: android:name="android.intent.action.VIEW...安卓中的一个解决方案:“受保护的广播”(不完整,但是…) 参考监视器特殊处理一些意图操作(例如,系统启动)。 只有系统进程可以发送那些广播意图。

    19010

    Android deeplink漏洞

    DeepLink漏洞 0x00 DeepLink简介 Deep link是一种处理特定类型链接并直接发送到应用程序(例如特定活动)的机制。...例如,example://myapp可以使用deeplink来启动MainActivity. 通过添加intent-filters来设置深层链接,并根据从传入意图中提取的数据将用户引导至正确的活动。...Android 应用程序链接是通过添加使用 URL 打开应用程序内容的意图过滤器并验证是否允许应用程序打开这些网站 URL 来设置的。...验证需要执行以下步骤:http/https 请求清单中的自动应用程序链接验证。这向 Android 系统发出信号,表明它应该验证应用程序是否属于意图过滤器中使用的 URL 域。...versions Android 6.0 and higher 0x01 安全问题 访问任意组件 应用程序可以实现自己的意图解析器来使用 JSON 对象、字符串或字节数组来处理深度链接,这些对象、字符串或字节数组可以扩展

    78640

    Android Intent漏洞

    这可用于创建一个代理组件(活动、广播接收器或服务),该组件采用嵌入式意图并将其传递给危险方法,如startActivity()或 sendBroadcast()因此,可以强制应用启动无法直接从其他应用启动的未导出组件...例如,假设应用具有执行某些不安全操作的未导出活动以及用作代理的导出活动: AndroidManifest.xml android:name=".ProxyActivity" android...就其本身而言,启动隐藏组件不会产生太大的安全影响,并且需要滥用隐藏组件的功能: 旁路保护 开发人员可以实现对收到的意图的过滤和显式设置组件以处理意图 为null: intent.setComponent...但是,开发人员可以将选择器显式设置为 null: intent.setComponent(null); intent.setSelector(null); 即便如此,您也可以创建一个隐式意图来匹配 某些未导出活动的...> 不安全活动启动 如果应用对某些私有数据使用隐式Intent来启动Activity,则可以开始处理相同的操作来拦截私有数据。

    63330

    使用Drozer安卓调试手册

    Scripts目录下 把agent.apk安装到模拟器下 3、启动环境 打开agent.apk进行监听 使用命令adb devices找到我们的模拟器设备 (如果找不到设备,则需要在模拟器bin...的目录下启动cmd) 因devices 31415端口,使用adb进行端口转发 adb forward tcp:31415 tcp:31415 adb shell pm list package 查看所有包名...检查启动意图(主要活动) dz> runapp.package.launchintent com.mwr.example.sieve 6....如果应用程序希望广播接收器捕获意图,然后显示经过身份验证的活动,则只有在登录后才能生成该广播。但是在代码审查之后,攻击者可以使用 drozer 手动发送该意图。...使用广播接收器的意图嗅探/捕获意图,这些接收器用于其他广播接收器 dz> run app.broadcast.sniff --action android.intent.action.BATTERY_CHANGED

    1.3K50

    可被黑客恶意利用,超6万款Android应用暗藏广告软件

    报告指出,经分析,该活动旨在将广告软件传播到用户的Android系统设备,以此来增加收入。然而,网络攻击者可以轻松地改变策略,将用户重定向到其他类型的恶意软件,如针对银行账户的窃取程序。...广告软件活动的国家分布 偷偷安装以逃避检测 这些应用程序托管在第三方网站上,研究人员没有在 Google Play 的应用程序中发现相同的广告软件。...相反,它依赖于正常的 Android 应用程序安装流程,该流程会提示用户在安装后“打开”应用程序。 此外,这些应用程序不会显示图标,并在应用程序标签中使用 UTF-8 字符,因此更难被发现。...但实际上,应用程序并没有被卸载,而只是在注册两个意图(Intent)之前进行了休眠,这两个意图可让应用程序在设备启动或设备解锁时开始运作。...注册启动广告程序的 Android 意图 启动后,该应用程序将连接到运营方的服务器并检索要在移动浏览器中显示或作为全屏 WebView 广告显示的广告链接。

    23920

    【Android 逆向】加壳的 Android 应用启动流程 | 使用反射替换 LoadedApk 中的类加载器流程

    文章目录 一、加壳的 Android 应用启动流程 二、使用反射替换 LoadedApk 中的类加载器流程 一、加壳的 Android 应用启动流程 ---- 加壳的 Android 应用启动流程 :...加载 Android 核心库 ② PathClassLoader 加载应用自身的 DEX 字节码 ③ 开始 执行 Android 应用的自身组件 ( 如 Activity 等 ) ④ 执行 Application...对象 ; 二、使用反射替换 LoadedApk 中的类加载器流程 ---- ActivityThread 是 Android 应用 主线程 起点 , ActivityThread 类是全局单例的 ,...// 注意:活动和窗口管理器需要调用 // ActivityThread执行更新资源配置等操作, // 这意味着当活动和窗口管理器 // 他们有自己的锁。...因此,您决不能回拨活动管理器 // 或窗口管理器或任何依赖于它们的东西。 // 这些LoadedApk仅对我们正在运行的用户ID有效。

    1.5K10

    Appium+python自动化(十四)- 与Capability完美懈垢之解读(超详解)

    在Android上,这个功能目前被忽略,尽管它仍然是必需的。 app 一个或一个文件的绝对本地路径或远程http URL ,或者包含其中的一个。...能力 描述 值 appActivity 要从包中启动的Android活动的活动名称。这往往需要在一个....默认为2000 例如 4 intentAction 意图操作将用于启动活动(默认android.intent.action.MAIN) 例如android.intent.action.MAIN,android.intent.action.VIEW...intentCategory 意图类别,将用于启动活动(默认android.intent.category.LAUNCHER) 例如android.intent.category.LAUNCHER,android.intent.category.APP_CONTACTS...intentFlags 将用于启动活动的标志(默认0x10200000) 例如 0x10200000 optionalIntentArguments 将用于启动活动的其他意图参数。

    3.4K50

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

    4.1.2.1 仅在应用内部使用的活动必须设置为私有(必需) 仅在单个应用中使用的活动,不需要能够从其他应用接收任何意图。...由于意图过滤器的特性,以及工作原理,即使您打算向内部的私有活动发送意图,但如果通过意图过滤器发送,则可能会无意中启动另一个活动。...创建新任务时,其他应用可能会读取调用意图的内容,因此当敏感信息包含在意图中时,需要使用"standard"活动启动模式设置。...,则使用显式意图(必需) 当通过隐式意图使用Activity时,Intent发送到的Activity由 Android OS 确定。...例如,从启动器启动的活动始终是根活动。 根活动的更多详细信息,请参阅“4.1.3.3 发送到活动的意图”和“4.1.3.4 根活动”。

    1.3K20

    Chrome 浏览器现在会显示每个活动标签页的内存使用情况了

    免费体验 Gpt4 plus 与 AI作图神器,我们出的钱 体验地址:体验 Chrome 浏览器最近推出了悬停卡,可以显示每个打开的标签页的内存使用情况。...新的悬浮卡基于 Chrome 浏览器的内存节省功能(Memory Saver),也可以通过 about:flags 启用: 内存保护器和性能控制 内存保护器通过冻结不活动的标签页,让它们进入 "睡眠 "...在最新发布的桌面版 Chrome 浏览器中,引入了两个新的性能设置,使 Chrome 浏览器的内存使用量最多减少 40%,最少减少 10GB,以保持标签页运行流畅,并在电池电量不足时延长电池使用时间。...内存保护器是 Chrome 浏览器最近新增的一整套性能控制功能的一部分,其中包括延长电池使用时间的节能器。所有这些功能都旨在根据用户的系统限制智能优化 Chrome 浏览器的性能和资源使用情况。...Chrome使用诸如标签可见性、标签是否正在播放音频以及页面生命周期事件等信号来判断一个标签是否处于非活动状态。

    58810

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

    不应该使用未定义的意图过滤器和导出属性false的原因,是 Android 的行为存在漏洞,并且由于意图过滤器的工作原理,其他应用的活动可能会意外调用它。下面的两个图展示了这个解释。...发送到任务的根Activity的意图,被添加到任务历史中。 根活动是在任务中启动的第一个活动。 任何应用都可以通过使用ActivityManager类,读取添加到任务历史的意图。...例如,当默认活动由启动器启动时,此活动将是根活动。 根据 Android 规范,发送到根Activity的意图的内容可以从任意应用中读取。 因此,有必要采取对策,不要将敏感信息发送到根活动。...另外,启动模式也可以通过设置意图的标志来更改。 标志FLAG_ACTIVITY_NEW_TASK以singleTask模式启动活动。 启动模式可以指定为这些。我会解释它们和根活动的关系。...Toast.makeText(this, Str(); break; } } } 4.1.3.5 使用活动时的日志输出 当使用一个活动时,意图的内容通过

    1.4K20
    领券