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

在Android中如果操作系统杀死我的应用程序,getIntent()会返回具有相同附加功能的Intent吗?

在Android中,当操作系统杀死应用程序时,getIntent()方法不会返回具有相同附加功能的Intent。这是因为当操作系统杀死应用程序时,系统会销毁应用程序的进程,包括其中的所有组件和数据。因此,当应用程序重新启动时,系统会创建一个新的进程,并为其提供一个新的Intent。

如果您需要在应用程序重新启动时恢复之前的状态或数据,可以使用onSaveInstanceState()onRestoreInstanceState()方法来保存和恢复数据。此外,您还可以使用SharedPreferences或其他持久化存储方法来保存数据,以便在应用程序重新启动时恢复数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

一个活动在onCreate()中做所有的“全局”状态的初始设置,在onDestroy()中释放所有保留的资源。...注意上面表格的Killable列,它表示当方法返回时没有执行活动的其它代码,系统是否能杀死活动寄宿的进程。三个方法(onPause()、onStop()、onDestroy())标记为Yes。...(User) bundel.get("user"); 2.SharedPreferences 我在activity1中设置的如下:   Java代码   SharedPreferences sp =...的邮递员:Intent Android基本设计理念是鼓励减少组件间的耦合,因此Android提供了Intent(意图),Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent...android的隐形管理员:Service Service从字面上理解即为“服务”,这里与windows中的服务有点类似。

1K50

Android Intent漏洞

如 例如,如果你在应用中构建一个名为DownloadService的服务,用于从Web下载文件,可以使用以下代码启动: // Executed in an Activity, so 'this' is...例如,如需在地图上向用户显示位置,则可以使用隐式 Intent,请求另一具有此功能的应用共享内容 例如,如果希望与其他人共享的内容,可以使用 ACTION_SEND 操作创建 Intent,并添加指定要共享的内容...Intent 过滤器中控制应用在列表中的位置 2.安全问题 滥用Activity返回值 如果受害应用使用startActivityForResult(),攻击应用使用setResult()将数据传输到受害者应用的...通常有两种攻击操作: 通常导致读入任意文件 自定义操作,取决于应用程序实现产生的不同漏洞 自定义操作 受害者应用代码:功能需要接受返回数据并在webview中打开,接收返回码为1 startActivityForResult...不安全的广播 如果应用使用隐式Intent来传递广播,则可以使用相同的操作注册广播接收器,并从其他应用拦截用户的广播。

63330
  • 被后台杀死后,Android应用如何重新走闪屏逻辑

    后台杀死与恢复的堆栈-恢复.jpg 而用户点击返回,看到的就是上一个界面B,其次是A ?...Android为了能够让用户无感知后台杀死,就做了这种恢复逻辑,不过,在开发中,这种逻辑带了的问题确实多种多样,甚至有些产品就不希望走恢复流程,本文就说说如何避免走恢复流程。...,会回调该函数,如果是从后台杀死恢复来的,回调onCreate的时候会传递一个非空的Bundle savedInstanceState给当前Activity,只要判断这个非空就能知道是否是恢复流程。...); startActivity(intent); 如果不设置会怎么样呢?...如果APP被杀,这个时候,希望先跳转主界面,再跳转目标页面,在效果上来看就是,用户先看到目标页面,点击返回的时候再看到主界面,如果加上闪屏,希望达到的效果是先看到闪屏、点击返回看到目标页,再点击返回看到主页面

    2.9K40

    Broadcasts详解「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。 Android系统和Android应用程序都可以发送和接收广播,类似于publish-subscribe设计模式。...Intent还可能包含附加到其extra字段中的附加信息。例如,飞行模式的Intent包括一个boolean的附加值,指示当前是否处于飞行模式。...一个常见现象:用户近期从未与应用交互过,如果这个进程中只运行了一个静态注册的Receiver,没有其它运行的组件,一旦代码从onReceive() return,系统就会认为这是个低优先级的进程并可能会杀死它...接收器运行的顺序可以通过IntentFilter的android:priority属性来控制;具有相同优先级的接收器将以任意顺序运行。...确保Action名称是在您自己的命名空间中命名的,否则您可能会无意中与其他应用程序发生冲突。

    83610

    【Android】Broadcasts详解

    大家好,又见面了,我是你们的朋友全栈君。 Android应用程序可以发送广播,也可以接收Android系统或者其它应用发出的广播,这跟发布-订阅设计模式很相似。...如果想要具体了解如何如何读取一个intent并且获取附加字段,参阅Intents and Intent Filters 参阅Android SDK中的BROADCAST_ACTIONS.TXT来了解所有系统广播的...然而,一旦从onReceive()返回,广播接收器就不再处于激活状态,它的宿主进程也就跟其它的普通进程具有相同的优先级。...receiver接收的顺序可以通过intent-filter中的android:priority属性控制,具有相同接收优先级的receiver的接收顺序是随机的。...如果你需要执行一个耗时的操作,要小心使用子线程或者后台服务,因为当onReceive(Context, Intent)函数返回之后,系统随时会杀死你的进程。

    83520

    Android高频面试专题 - 基础篇(一)Activity

    如果我们不想自己的Activity在系统配置发生改变时被销毁后再重建,只需在清单文件中对应Activity下的android:configChanges中添加对应场景配置项,如orientation|screenSize...singleInstance模式 会启动一个新的任务栈来管理当前程序中singleInstance模式启动的Activity,在Android系统中,该Activity只有一个实例。...setContentView方法所指定的View,只有在onCreate方法返回后才会显示在界面上。因此,如果调用了两次setContentView方法,只有最后一次才是有效的。...因为使用Bundle的场景大多数为小数据量,我没见过在两个Activity之间传递10个以上数据的场景,所以相比之下,在这种情况下使用ArrayMap保存数据,在操作速度和内存占用上都具有优势,因此使用...另外一个原因,则是在Android中如果使用Intent来携带数据的话,需要数据是基本类型或者是可序列化类型,HashMap使用Serializable进行序列化,而Bundle则是使用Parcelable

    2K31

    android Activity漏洞挖掘

    越权绕过漏洞 在Android系统中,Activity默认是不导出的,如果设置了 exported="true" 这样的关键值或者是添加了intent-filter>这样的属性,并且没有显示的设置为...intent 3.有返回数据时不应包含敏感信息 4.不应发送敏感信息 5.当收到返回数据时谨慎处理 组件导出导致钓鱼欺诈 Android为了提高用户的用户体验,对于不同的应用程序之间的切换,基本上是无缝...而Activity的调度是交由Android系统中的AMS管理的。...task的名字取决于根activity的affinity。默认设置中Activity使用包名做为affinity。task由app分配,所以一个应用的Activty在默认情况下属于相同task。...隐式启动intent包含敏感数据 没看懂 拒绝服务 Android系统提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android

    1.3K30

    安卓第九夜 狂风

    我们经常需要在安卓应用中包含简易的网页显示功能。我将在这一讲中实现网页的显示。 《狂风》,来自小Willem,荷兰画派黄金时代的作品。作为当时海上马车夫的荷兰,对航海题材的画情有独钟。...在Intent放入附加数据 我希望点击类别后,能够进入显示该类别所有联系人,即启动一个新的联系人条目页面。由于类别的数目是动态变化的,我不可能为每个类别创建一个下游页面(而且这样也太麻烦了)。...在安卓中,一个Bundle对象即一个键值对。键是一个字符串,值是任意可以打包的对象(parcelable object)。Bundle在安卓中的用途非常广泛。...提取Intent中的附加数据 在下游的Activity中,我可以通过Context的getIntent()方法来获取Intent对象。...(intent); } }); } } 我在第一部分编写的数据库交互方法getContactsByCategoryId(),在上面的Activity中登场

    90370

    Intent 属性详解(上)

    }} 上面程序中的onClick回调方法里面的代码用于创建ComponentName对象,并将该对象设置成Intent 对象的Component属性,这样应用程序即可根据该Intent的意图去启动指定组件...但该Intent并未指定要启动哪个Activity,从上面程序中的代码无法看出该程序将要启动哪个Activity。那么到底程序会启动哪个Activity呢?...Action常量 对应的字符串 简单说明 ACTION_MAIN android.intent.action.MAIN 应用程序入口 ACTION_VIEW android.intent.action.VIEW...编辑指定数据 ACTION_PICK android.intent.action.PICK 从列表中选择某项,并返回所选的数据 ACTION_CHOOSER android.intent.action.CHOOSER...属性的值也是一个普通的字符串,用于为Action增加额外的附加类别信息。

    1.6K100

    8-25 Android 学习ing

    重用时,会让该实例回到栈顶,因此在它上面的实例将会被移出栈。...如果栈中不存在该实例,将会创建新的实例放入栈中 4>singleInstance 在一个新栈中创建该Activity的实例,并且让多个应用共享该栈中的Activity实例。...3.Intent Android基本的设计理念是鼓励减少组件之间的耦合,因此Android提供了Intent(意图),Intent提供了一种通用的消息系统,它允许在你的应用程序与其它应用程序之间传递Intent...,或者上面的activity是透明的,这是下方的activity对用户可见,下方的保持暂停状态,如果系统内存不足时会杀死这个activity 当activity完全被另外一个activity覆盖时处于停止状态...,仍然保留所有的状态和成员信息,但是对用户不可见,它的窗口被完全隐藏,如果其他地方需要内存,系统会杀死这个activity activity从一种状态转变为另一种状态的时候,会调用以下保护方法来通知这种变化

    45320

    Android 开发基础常识

    里的Intent传递的数据有大小限制吗,如何解决?...(bundle);   获取到激活他的 getIntent(); Intent intent = getIntent();   Bundle bundle = intent.getExtras()...主线程被阻塞的时候,会出现5秒超时的异常 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称  作应用程序无响应(ANR:Application Not...在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系 Android系统要求每一个安装进系统的应用程序都是经过数字证书签名的,...(4)数字证书都是有有效期的,Android只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能。

    9710

    深入Android组件安全攻防(揭秘手Q强制下线提示原理)

    本文继续Android安全话题,继续说道第四篇,继续对具体安全漏洞做具体的防止实践。本篇介绍组件劫持攻防。本文让你明白手机QQ强制登录提示功能的原理。 ?...由于android所有组件通讯都会是基于intent来实现的,对于Intent的处理都有相关的action 中的 permission 进行过滤,所以如果开发者不严谨就会造成acivity被恶意开启。...由于是独立的进程,因此在Activity所在进程被Kill的时候,该服务依然在运行,不受其他进程影响,有利于为多个进程提供服务具有较高的灵活性。...Android系统中提供了Intent机制来协助应用间的交互与通讯,其负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,系统则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件...调用的组件在处理Intent附加数据的时候,没有进行异常捕获,因此当处理空数据、异常或者畸形数据时,导致应用崩溃。

    89910

    Android基础_1 四大基本组件介绍与生命周期

    可以在任何时候被一个具有相同IntentFilter 的新的Activity 取代。...然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐 应该还在播放的。...(相当于在应用外包了一层壳), 只有需要在多个应用程序间共享数据是才需要内容提供者。例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中 它的好处:统一数据访问方式。...相应的activity 可以通过调用getIntent() 方法来查看激活它的intent。...而已经存在一个具有此功能的activity 了,那么你的activity 所需要做的工作就是把请求信息放到一个Intent 对象里面,并把它传递给startActivity()。

    1.5K30

    android之如何使用Android的搜索框架

    大家好,又见面了,我是全栈君。 当你需要在你的应用程序中提供搜索服务时,通过使用Android的搜索框架,应用程序将显示一个自定义搜索对话框来处理用户的搜索请求。...通过一个简单的搜索按钮或从您的应用程序中调用API,搜索对话框就会显示在屏幕的顶部,并会自动显示应用程序图标。 本文将教你如何为你的应用程序提供一个自定义搜索对话框。...所有的这些工作都由SearchManager类来为您处理(以下简称“搜索管理器”),它管理的Android搜索对话框的整个生命周期,并执行您的应用程序将发送的搜索请求,返回相应的搜索关键字。...当我们在应用程序中的 OtherAcitivity中执行搜索请求时,MySearchableActivity将会被加载用于执行搜索并显示搜索结果。...当你按“返回”键里,会回到没有执行搜索前的一个Activity。

    78730

    行情艰难,Android初中级面试题助你逆风翻盘,每题都有详细答案

    ,其效果和在XML中指定该启动模式相同; FLAG_ACTIVITY_CLEAR_TOP : 具有此标记位的Activity,当它启动时,在同一个任务栈中所有位于它上面的Activity都要出栈。...相同点 :二者都继承PagerAdapter 不同点 :FragmentPagerAdapter的每个Fragment会持久的保存在FragmentManager中,只要用户可以返回到页面中,它都不会被销毁...1.onStartCommand方式中,返回START_STICKY或则START_REDELIVER_INTENT START_STICKY:如果返回START_STICKY,表示Service运行的进程被...:如果返回START_NOT_STICKY,表示当Service运行的进程被Android系统强制杀掉之后,不会重新创建该Service START_REDELIVER_INTENT:如果返回START_REDELIVER_INTENT...,其返回情况与START_STICKY类似,但不同的是系统会保留最后一次传入onStartCommand方法中的Intent再次保留下来并再次传入到重新创建后的Service的onStartCommand

    80120

    7.Activity

    activity的名称、图标可以和应用程序的名称、图标不相同 intent-filter> android:name="android.intent.action.MAIN...更多隐式 Intent的用法 如果系统中存在多个Activity的intent-filter同时与你的intent匹配,那么系统会显示一个对话框,列出所有匹配的Activity,由用户选择启动哪一个..., flags, startId); } 在目标Activity中取出数据 Intent intent = getIntent();//获取启动此Activity的intent对象 //从intent...内存不足 内存不足时,系统会优先杀死后台Activity所在的进程,都杀光了,如果内存还是不足,那么就会杀死暂停状态的Activity所在的进程,如果还是不够,有可能杀死前台进程 如果有多个后台进程,在选择杀死的目标时...singleInstance启动模式非常特殊, activity会运行在自己的任务栈里面,并且这个任务栈里面只有一个实例存在 如果你要保证一个activity在整个手机操作系统里面只有一个实例存在,使用

    1.3K150

    APK安装流程详解11——普通应用安装简介

    Android系统在启动的过程中,会启动一个引用程序管理服务PackageManagerService,这个服务负责扫描系统中特定的目录,找到里面的应用程序文件,以.apk为后缀的文件,然后对这些文件进行解析...第四步:显示快捷方式 如果这些应用程序在PackageManagerService服务注册好了,如果我们想要在Android桌米上看到这些应用程序,还需要有一个Home应用程序,负责从PackageManagerService...在Android系统中,负责把系统中已经安装的应用程序在桌面中展现出来的Home应用就是Launcher了。...如果首次解析安装包的时候,成功解析了,则会通知用户去打开"安装未知应用程序设置"。在启动Activity的时候会进行内存检查,如果内存不足会通知用户。...先看下注释: 如果系统上已经有其他用户安装了相同包名的应用程序,则让用户继续安装。 同上,这里先不讲解installExistingPackage(String)方法,我们一会详细讲解。

    8.7K42

    安卓开发开发规范手册V1.0

    () 创建隐式Intent 时,Android 系统通过将Intent 的内容与在设备上其他应用的清单文件中声明的Intent 过滤器进行比较,从而找到要启动的相应组件。...恶意应用也可以注册相同的URL Sechme来截取这些敏感信息。Android系统会让用户选择使用哪个应用打开链接,但是如果用户不注意,就会使用恶意应用打开,导致敏感信息泄露或者其他风险。...同一部手机中安装的其他app,甚至是一些权限不高的app,都可以通过剪贴板功能获取剪贴板中的敏感信息。...其中getSharedPreferences如果设置全局写权限,则当攻击app跟被攻击app具有相同的Android:sharedUserId属性时和签名时,攻击app则可以访问到内部存储文件进行写入操作...属性相同,切使用的签名也相同,则这两个app可以互相访问内部存储文件数据 7.7 日志泄露风险 在APP的开发过程中,为了方便调试,通常会使用log函数输出一些关键流程的信息,这些信息中通常会包含敏感内容

    1.7K00

    Android 点击通知栏消息打开activity,并判断app是否运行

    android的通知栏消息点击事件如果是打开一个activity时,我们要考虑两种情况: 应用正在前台运行。 应用已退出。...对于第二种情况,我参照了很多app的做法,现总结为以下两种: 点击通知栏消息打开activity按下返回键后判断app是否启动,如果没有启动就要启动app; 点击通知栏消息时判断app是否正在前台运行,...newIntent); return; } // 如果app进程已经被杀死,先重新启动app,将DetailActivity的启动参数传入Intent中,参数经过 // SplashActivity...,同样会新创建一个实例压入栈中。...此时如果栈顶的D通过Intent跳转到B,则栈情况为:A B C D D B。此时如果依次按返回键,D D C B A将会依次弹出栈而显示在界面上。

    3.4K10

    精选Android中高级高频面试题:四大组件及Fragment原理

    参考回答: 相同点 : 二者都继承PagerAdapter 不同点 : FragmentPagerAdapter的每个Fragment会持久的保存在FragmentManager中,只要用户可以返回到页面中...参考回答: onStartCommand方式中,返回START_STICKY或则START_REDELIVER_INTENT START_STICKY:如果返回START_STICKY,表示Service...:如果返回START_NOT_STICKY,表示当Service运行的进程被Android系统强制杀掉之后,不会重新创建该Service START_REDELIVER_INTENT:如果返回START_REDELIVER_INTENT...,其返回情况与START_STICKY类似,但不同的是系统会保留最后一次传入onStartCommand方法中的Intent再次保留下来并再次传入到重新创建后的Service的onStartCommand...发挥什么作用 参考回答: ActivityManagerService是Android中最核心的服务 , 主要负责系统中四大组件的启动、切换、调度及应用进程的管理和调度等工作,其职责与操作系统中的进程管理和调度模块类似

    2K00
    领券