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

app被手动杀掉后如何获取广播接收器?

当一个应用程序被手动杀掉后,无法直接获取广播接收器。这是因为应用程序被杀掉后,其进程会被系统完全终止,广播接收器也会随之失效。

然而,可以通过一些技术手段来实现在应用程序被杀掉后获取广播接收器的功能。以下是一种常见的解决方案:

  1. 前台服务(Foreground Service):将应用程序的某个关键功能封装在一个前台服务中,并在应用程序被杀掉后启动该服务。前台服务可以在通知栏显示一个持续运行的通知,使用户意识到应用程序正在后台执行某项任务。通过前台服务,可以在应用程序被杀掉后继续接收广播。
  2. 开机自启动(Boot Receiver):注册一个开机自启动的广播接收器,当设备重启后,系统会发送一个开机广播,通过该广播接收器重新启动应用程序,并在启动后继续接收广播。
  3. 持久化存储(Shared Preferences、数据库等):在应用程序被杀掉之前,将需要接收广播的相关信息保存在持久化存储中,如Shared Preferences或数据库。当应用程序重新启动后,可以读取这些信息,并重新注册广播接收器。

需要注意的是,以上解决方案都需要在应用程序被杀掉之前进行一些预处理工作,以确保在应用程序重新启动后能够正确获取广播接收器。此外,具体实现方式还需要根据不同的开发框架和平台进行调整。

腾讯云相关产品和产品介绍链接地址:

  • 前台服务:腾讯云无相关产品,可参考Android官方文档进行实现。
  • 开机自启动:腾讯云无相关产品,可参考Android官方文档进行实现。
  • 持久化存储:腾讯云无相关产品,可使用腾讯云提供的云数据库服务进行数据存储。

请注意,以上答案仅供参考,具体实现方式和产品选择应根据实际需求和开发环境进行决策。

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

相关·内容

如何让你的app在后台干掉优雅的启动

有这么一个场景,在用户用着你开发的app的时候,突然某个聊天工具来消息了,切换到聊天工具长时间停留,并且可能做了一些你不知道的操作,比如看视频阿,刷刷消息圈什么的。...首先,我们得知道,为什么程序会在后台干掉的?我们又没有手动关闭程序。 app在后台强杀,是在内存不足的情况下强制释放了,也有一些恶心的rom会强制杀掉那些后台进程以释放缓存以提高所谓的用户体验。...然后从“最近打开的应用”中选中该App,回到的界面是C activity,假设App中没有静态变量,这个时候是不会crash的,点击返回到B,这个时候也只是短暂白屏显示B界面。...但如果B中有引用静态变量,并想要获取静态变量中的某个值时,就NullPointer了。 以上复现的流程就几个点,我们展开说下: 当应用强杀,整个App进程都是被杀掉了,所有变量全都被清空了。...那且想想如何让它不回到C而是重走流程呢?也就是说中断C的初始化而回到A,并且按back键,不会回到C,B。考虑一下。 我们先实例化这个场景吧。

2.6K20

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

换句话说,不要在Service里执行耗时操作,除非手动打开一个子线程,否则有可能出现主线程阻塞(ANR)的情况; 5、用过哪些系统Service ? 参考回答: ?...普通广播:开发者自身定义 intent的广播(最常用),所有的广播接收器几乎会在同一时刻接受到此广播信息,接受的先后顺序随机; 有序广播:发送出去的广播广播接收者按照先后顺序接收,同一时刻只会有一个广播接收器能够收到这条广播消息...,当这个广播接收器中的逻辑执行完毕广播才会继续传递,且优先级(priority)高的广播接收器会先收到广播消息。...有序广播可以接收器截断使得后面的接收器无法收到它; 本地广播:仅在自己的应用内发送接收广播,也就是只有自己的应用能收到,数据更加安全,效率更高,但只能采用动态注册的方式; 粘性广播:这种广播会一直滞留...,当有匹配该广播接收器注册,该接收器就会收到此条广播; 推荐文章:Android四大组件:BroadcastReceiver史上最全面解析(https://www.jianshu.com/p/ca3d87a4cdf3

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

    如果没有,则需要处理 APP 的启动过 程。在经过创建进程、绑定 Application 步骤,才真正开始启动 Activity 的⽅法。...参考回答: 普通广播:开发者自身定义 intent的广播(最常用),所有的广播接收器几乎会在同一时刻接受到此广播信息,接受的先后顺序随机; 有序广播:发送出去的广播广播接收者按照先后顺序接收,同一时刻只会有一个广播接收器能够收到这条广播消息...,当这个广播接收器中的逻辑执行完毕广播才会继续传递,且优先级(priority)高的广播接收器会先收到广播消息。...有序广播可以接收器截断使得后面的接收器无法收到它; 本地广播:仅在自己的应用内发送接收广播,也就是只有自己的应用能收到,数据更加安全,效率更高,但只能采用动态注册的方式; 粘性广播:这种广播会一直滞留...,当有匹配该广播接收器注册,该接收器就会收到此条广播; 【Android进阶学习视频】、【全套Android面试秘籍】关注我【主页简介】查看免费领取方式 推荐文章:Android四大组件:BroadcastReceiver

    1.9K00

    Android面试题(四大组件篇)

    1.当app处于后台系统回收时,app的进程被杀死了,Activity 也回收了,而app的task和activity栈以及相应的intent和数据会被系统保存起来。...警报管理器持有一个CPU唤醒锁,只要警报接收器的onReceive()方法正在执行。这保证了在你处理完广播,手机才会休眠。一旦onReceive()返回,警报管理器将释放此唤醒锁。...提升Service优先级 前台服务是认为用于已知的正在运行的服务,当系统需要释放内存时不会优先杀掉该进程。...广播接收者的注册有两种方法,分别是程序动态注册和AndroidManifest文件中进行静态注册。 动态注册广播接收器特点是当用来注册的Activity关掉广播也就失效了。...静态注册无需担忧广播接收器是否关闭,只要设备是开启状态,广播接收器也是打开着的。也就是说哪怕app本身未启动,该app订阅的广播在触发时也会对它起作用。

    89920

    【Android】Broadcasts详解

    如果想要具体了解如何如何读取一个intent并且获取附加字段,参阅Intents and Intent Filters 参阅Android SDK中的BROADCAST_ACTIONS.TXT来了解所有系统广播的...动态广播接收器 要注册一个上下文相关的动态广播接收器,执行以下步骤: 对进程状态的影响 你的广播接收器的状态会影响它所在的进程的状态,转而会影响进程系统杀死的可能性。...如果那个进程只拥有一个在应用清单中定义的接收器,那么当从onReceive()返回,系统会把它当作一个低优先级的进程,当其它优先级更高的进程需要更多内存的时候,它就可能被杀掉。...鉴于这个原因,你不应该在一个广播接收器中启动一个长时间在后台运行的线程。当从onReceive()返回,系统可能会杀掉进程来回收内存,这会结束所有运行在这个进程中的线程。...注意:虽然intents同时用来发送广播和启动Activity,但是这些行为之间并没有任何关联。

    81820

    Android面试题:Broadcast需要注意哪些细节

    这里注意动态注册,我们一般会手动进行注销,不过如果没有手动注销,当context对象销毁时,Broadcast会自动注销,但是我们还是及时注销释放资源。...根据网上资料: 拥有一个活跃状态的广播接收器的进程保护起来而不会被杀死,但仅拥有失活状态组件的进程则会在其它进程需要它所占有的内存的时候随时被杀掉。...{@link android.app.job.JobScheduler}....所以说当Broadcast执行完onReceive就可以随时销毁了,当然动态注册不一样,因为它是手动创建的,所以还需要关心它的引用可达性。...同时,Broadcast的创建也一样,动态注册的时候我们手动创建,所以是一个对象。

    29030

    Carson带你学Android:手把手教你学会广播组件-BroadcastReceiver

    使用流程 使用流程如下: 下面,我将一步步介绍如何使用BroadcastReceiver 即上图中的 开发者手动完成部分 5.1 自定义广播接收者BroadcastReceiver 继承BroadcastReceivre...假设我们将广播的注销放在onStop(),onDestory()方法里的话,有可能在Activity销毁还未执行onStop(),onDestory()方法,即广播仍还未注销,从而导致内存泄露。...先接收的广播接收者可以对广播进行修改,那么后接收的广播接收者将接收到修改广播 具体使用 有序广播的使用过程与普通广播非常类似,差异仅在于广播的发送方式: sendOrderedBroadcast...: 其他App针对性发出与当前App intent-filter相匹配的广播,由此导致当前App不断接收广播并处理; 其他App注册与当前App一致的intent-filter用于接收广播获取广播具体信息...; 在广播发送和接收时,增设相应权限permission,用于权限验证; 发送广播时指定该广播接收器所在的包名,此广播将只会发送到此包中的App内与之相匹配的有效广播接收器中。

    65810

    2018年Android保活方案效果统计

    可以更换思路,做APP启动的保活(监听广播启动保活的前台服务) 2、定时器、JobScheduler:假如应用系统杀死,那么定时器则失效,此方案失效。...不手动清理情况下,经测试能锁屏存活至少40分钟 3、华为畅享5x(6.0):一键清理直接杀掉整个app,包括双守护进程。不手动清理下,锁屏只存活10s。结论:双进程守护方案失效。...5、原生7.0:任务栏清除APP,Service存活。使用此方案Service照样存活。 6、LG V30+(7.1.2):不加双进程守护的时候,一键清理无法杀掉服务。...锁屏超过11分钟存活 2、华为畅享5x(6.0):一键清理服务依然存活,需要单独清理才可杀掉服务。结论:方案适用。 3、美图m8s(7.1.1):一键清理APP会被杀掉。...4、原生7.0:任务管理器中关闭APP服务干掉,过2s会重新复活 5、小米8(8.1):一键清理可以杀掉服务,锁屏下后台保活时间超过38分钟 6、荣耀10(8.0):一键清理杀掉服务,锁屏下后台保活时间超过

    2.3K50

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

    removeStickyBroadcast(intent)主动把它去掉 注意:发送广播时的intent参数与Contex.startActivity()启动起来的Intent不同,前者可以多个订阅它的广播接收器调用...动态注册广播接收器还有一个特点,就是当用来注册的Activity关掉广播也就失效了。静态注册无需担忧广播接收器是否关闭,只要设备是开启状态,广播接收器也是打开着的。...也就是说哪怕app本身未启动,该app订阅的广播在触发时也会对它起作用 系统常见广播Intent,如开机启动、电池电量变化、时间改变等广播 Service 服务: 一个Service 是一段长生命周期的...发出的请求,内容提供者激活。...只是对用户不可见,当其他地方需要内存时它往往系统杀掉 4.Dead——非活动状态       Activity 尚未被启动、已经手动终止,或已经系统回收时处于非活动的状态,要手动终止Activity

    1.5K30

    Android四大组件:BroadcastReceiver史上最全面解析

    接下来我将一步步介绍如何使用 4.1 自定义广播接收者BroadcastReceiver 继承自BroadcastReceivre基类 必须复写抽象方法onReceive()方法 广播接收器接收到相应广播...,只需要在注册广播接收者时定义相关的action即可,并不需要手动发送广播,当系统有相关操作时会自动进行系统广播 3....; 先接收的广播接收者可以对广播进行修改,那么后接收的广播接收者将接收到修改广播 具体使用 有序广播的使用过程与普通广播非常类似,差异仅在于广播的发送方式: sendOrderedBroadcast...: 其他App针对性发出与当前App intent-filter相匹配的广播,由此导致当前App不断接收广播并处理; 其他App注册与当前App一致的intent-filter用于接收广播获取广播具体信息...; 在广播发送和接收时,增设相应权限permission,用于权限验证; 发送广播时指定该广播接收器所在的包名,此广播将只会发送到此包中的App内与之相匹配的有效广播接收器中。

    1.7K10

    Android 四大组件之BroadcastReceiver

    广播接收器接收到相应广播,会自动回调 onReceive() 方法,此方法中可与其他组件进行交互,如发送通知、启动服务等。...当使用系统广播时,只需在注册广播接收者时定义相关的action即可,不需要手动发送广播,当系统有相关操作时会自动进行系统广播的发送。 ?...特点:接收广播按顺序接收;先接收的广播接收者可以对广播进行截断,即后接收的广播接收者不再接收到此广播;先接收的广播接收者也可以对广播进行修改,那么后接收的广播接收者将接收到修改广播。...其他 App 注册与当前 App 一致的 intent-filter 用于接收广播获取广播具体信息;即会出现安全性 & 效率性的问题。 解决方案: 方案1:将全局广播设置成局部广播 a....发送广播时,指定特定广播接收器所在的包名,具体是通过 intent.setPackage(packageName) 指定,这样此广播将只会发送到此包中的 App 内与之相匹配的有效广播接收器中。

    1.4K10

    Android:BroadcastRecevicer广播类型汇总

    ,只需要在注册广播接收者时定义相关的action即可,并不需要手动发送广播,当系统有相关操作时会自动进行系统广播 3....; 先接收的广播接收者可以对广播进行修改,那么后接收的广播接收者将接收到修改广播 具体使用 有序广播的使用过程与普通广播非常类似,差异仅在于广播的发送方式: sendOrderedBroadcast...: 其他App针对性发出与当前App intent-filter相匹配的广播,由此导致当前App不断接收广播并处理; 其他App注册与当前App一致的intent-filter用于接收广播获取广播具体信息...解决方案 使用App应用内广播(Local Broadcast) App应用内广播可理解为一种局部广播广播的发送者和接收者都同属于一个App。...; 在广播发送和接收时,增设相应权限permission,用于权限验证; 发送广播时指定该广播接收器所在的包名,此广播将只会发送到此包中的App内与之相匹配的有效广播接收器中。

    4.2K41

    Carson带你学Android:BroadcastRecevicer广播类型汇总

    ,只需要在注册广播接收者时定义相关的action即可,并不需要手动发送广播,当系统有相关操作时会自动进行系统广播 3....,那么后接收的广播接收者将接收到修改广播 具体使用 有序广播的使用过程与普通广播非常类似,差异仅在于广播的发送方式: sendOrderedBroadcast(intent); 4....: 其他App针对性发出与当前App intent-filter相匹配的广播,由此导致当前App不断接收广播并处理; 其他App注册与当前App一致的intent-filter用于接收广播获取广播具体信息...解决方案 使用App应用内广播(Local Broadcast) App应用内广播可理解为一种局部广播广播的发送者和接收者都同属于一个App。...; 在广播发送和接收时,增设相应权限permission,用于权限验证; 发送广播时指定该广播接收器所在的包名,此广播将只会发送到此包中的App内与之相匹配的有效广播接收器中。

    48620

    全面盘点当前Android后台保活方案的真实运行效果(截止2019年前)1、引言2、先总结一下,Android端APP为何要搞保活黑科技?3、相关文章4、常见的Android端保活黑科技方案盘点5、汇

    可以更换思路,做APP启动的保活(监听广播启动保活的前台服务); 2)定时器、JobScheduler:假如应用系统杀死,那么定时器则失效,此方案失效。...,Service会被杀掉,然后拉起,接着一直存活; 2)金立F100(5.1):一键清理直接杀掉整个app,包括双守护进程。...不手动清理情况下,经测试能锁屏存活至少40分钟; 3)华为畅享5x(6.0):一键清理直接杀掉整个app,包括双守护进程。不手动清理下,锁屏只存活10s。...锁屏超过11分钟存活; 2)华为畅享5x(6.0):一键清理服务依然存活,需要单独清理才可杀掉服务。结论:方案适用; 3)美图m8s(7.1.1):一键清理APP会被杀掉。...正常情况下锁屏服务依然存活; 4)原生7.0:任务管理器中关闭APP服务干掉,过2s会重新复活; 5)小米8(8.1):一键清理可以杀掉服务,锁屏下后台保活时间超过38分钟; 6)荣耀10(

    1.8K20

    17 个必须掌握的 BroadcastReceiver 知识点「建议收藏」

    广播发出之后,同一时刻只有一个广播接收器能够收到这条广播消息,当其逻辑执行完广播接收器才会继续传递。...当广播接收器收到广播,当前广播也可以使用 setResultData 方法将数据传给下一个接收器。...使用 getStringExtra 函数获取广播的原始数据,通过 getResultData 方法取得上个广播接收器自己添加的数据,并可用 abortBroadcast 方法丢弃该广播,使该广播不再被别的接收器接收到...其他 APP 不可能向当前的 APP 发送局部广播,不用担心有安全漏洞其他 APP 利用。 局部广播比通过系统传递的全局广播的传递效率更高。...其他 APP 可以向当前 APP广播消息,导致 APP 非法控制。 发送广播 发送广播时,增加相应的 permission ,用于权限验证。

    1.6K31

    全面盘点当前Android后台保活方案的真实运行效果(截止2019年前)

    可以更换思路,做APP启动的保活(监听广播启动保活的前台服务); 2)定时器、JobScheduler:假如应用系统杀死,那么定时器则失效,此方案失效。...,Service会被杀掉,然后拉起,接着一直存活; 2)金立F100(5.1):一键清理直接杀掉整个app,包括双守护进程。...不手动清理情况下,经测试能锁屏存活至少40分钟; 3)华为畅享5x(6.0):一键清理直接杀掉整个app,包括双守护进程。不手动清理下,锁屏只存活10s。...锁屏超过11分钟存活; 2)华为畅享5x(6.0):一键清理服务依然存活,需要单独清理才可杀掉服务。结论:方案适用; 3)美图m8s(7.1.1):一键清理APP会被杀掉。...正常情况下锁屏服务依然存活; 4)原生7.0:任务管理器中关闭APP服务干掉,过2s会重新复活; 5)小米8(8.1):一键清理可以杀掉服务,锁屏下后台保活时间超过38分钟; 6)荣耀10(8.0

    4.3K20

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

    一般来说,我们有下列几种方法来为应用程序创建入口点: 1、通过处理MAIN和LAUNCHER类型Intent的启动器Activity; 2、后台运行的服务; 3、广播接收器,当系统发送应用程序期望的广播调用...启动隐藏的App 对于间谍软件来说,保持隐藏是至关重要的。然而,这就提出了一个问题:“目标设备如何启动间谍软件应用程序,从而窃取数据”?...恶意软件一般可以通过下列几种方法来启动隐藏的App: 1、通过SMS短信发送命令,恶意软件接收到了“新短信”的广播之后,则显示隐藏的App图标; 2、收到外部触发条件启动App(例如拨打电话广播、在Manifest...在接收到该广播广播处理程序(它是先前注册的唯一接收器)将重新启动服务: 下图是上述流程的代码实现部分,SpyNote首先在AndroidManifest.xml文件中声明了一个广播接收器。...然后,这些捕获的内容呈现到中间的“虚拟显示器”,这是媒体投影的核心。最后,Surface会从“虚拟显示器”中获取这些图像并渲染这些图像。

    40710
    领券