`
- 浏览:
589122 次
-
现在的应用程序都是那么的不要脸,你在设置中把服务停了,把进程杀了,会发现过一会儿后台又有服务在运行。其实这种东西通过监听系统广播就可以达到目的。写个BroadcastReceiver:
-
public class PushReceiver extends BroadcastReceiver {
-
-
-
@Override
-
public void onReceive(Context context, Intent intent) {
-
if(Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())){
-
System.out.println("手机开机了...bootComplete!");
-
}else
-
if(Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())){
-
System.out.println("新安装了应用程序....pakageAdded!");
-
}else
-
if(Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())){
-
System.out.println("应用程序被卸载了....pakageRemoved!");
-
}else
-
if(Intent.ACTION_USER_PRESENT.equals(intent.getAction())){
-
System.out.println("手机被唤醒了.....userPresent");
-
Intent service = new Intent();
-
service.setAction("com.xxx.service.PushService");
-
service.setClass(context, PushService.class);
-
context.startService(service);
-
}
-
-
}
-
-
-
}
复制代码
Mainfest中注册receiver:
-
<!-- push receiver -->
-
<receiver android:name=".receiver.PushReceiver">
-
<intent-filter>
-
<!-- 手机开机 -->
-
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
-
<!-- 手机唤醒解锁 -->
-
<action android:name="android.intent.action.USER_PRESENT" />
-
</intent-filter>
-
<intent-filter>
-
<!-- 程序包安装与卸载 -->
-
<action android:name="android.intent.action.PACKAGE_ADDED"></action>
-
<action android:name="android.intent.action.PACKAGE_REMOVED"></action>
-
<data android:scheme="package"></data>
-
</intent-filter>
-
</receiver>
复制代码
自己写个服务,在每个收到广播的地方根据自己应用的情况选择是否startServcie就Ok了
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
标题“安卓后台服务相关-android杀不死服务一种实现能过保证第三方软件和系统杀不死他很好用哦.zip” 提到的是一种特殊的服务实现,其设计目标是防止被第三方软件或系统强制停止。这通常涉及到服务的生命周期管理...
这个"Android高级应用源码-android杀不死服务一种实现,能过保证第三方软件和系统杀不死他,很好用哦.rar"压缩包文件就提供了一种这样的实现。 首先,我们要理解Android服务的工作原理。服务默认情况下是可以被系统...
总之,"android杀不死服务"的核心在于通过各种策略提高服务的生存能力,包括使用前台服务、监听和自启动机制、异常处理等。理解这些技术对于开发复杂且需长期后台运行的Android应用至关重要。不过,每个开发者都应...
标题和描述提到的"不死的服务"就是指这种能够抵抗被杀死的服务。 实现Android中的"不死服务"主要涉及到以下几点: 1. **Service生命周期管理**: - `onCreate()`: 当服务首次创建时调用,适合进行初始化操作。 -...
在Android系统中,服务...总之,Android“杀不死的服务”是通过一系列技术手段来确保后台服务在各种条件下持续运行,以满足即时通讯等应用的实时性需求。然而,开发者需要遵循最佳实践,以平衡应用的效率和用户的体验。
杀不死服务实现原理: 1:Android一个app可以启动2个进程 2:进程A与进程B互相守护 3:进程A时刻盯着进程B,通用进程B也时刻盯着进程B 4:进程之间互相盯着,需要用到IPC进程间通信技术(也就是Binder机制AIDL 5:...
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
杀不死的服务一直是一件很头疼的问题,这边给出源码:Android 通过JNI实现双守护进程,保证服务不被杀死。完美运行在谷歌原生Android5.0系统.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能...
总结起来,"Android 杀不死的服务的一种实现"主要涉及如何在Android环境中创建一个能在多种情况下保持运行的服务。通过结合使用START_STICKY、前台服务、自我检查机制、JobScheduler等技术,我们可以创建一个相对...
在Android应用开发中,保证后台服务不被系统自动杀死是一项重要的技术挑战,尤其是在资源有限的移动设备上。本文将深入探讨如何实现这一目标,主要分为提高进程优先级、避免进程被杀死以及进程被杀死后的拉活策略。 ...
标题“android 保证服务不被杀死”涉及的核心知识点是如何在Android中创建一个能够抵抗系统清理的服务,即使在用户通过第三方应用或系统设置关闭应用的情况下也能保持运行。以下是一些关于实现这一目标的关键点: 1...
标题和描述提到的“android杀不死服务”实际上是指创建一种能够抵抗系统和第三方应用清理的服务,以确保其持续运行。 在Android系统中,服务可以通过以下方式被停止: 1. **系统资源限制**:当系统资源(如内存)...
总结来说,"Android杀不死的进程ForkNDK示例,双进程守护"是一种通过C/C++ NDK实现的高级技术,用于确保关键服务的持续运行。它涉及到`fork()`进程创建、守护进程设定、跨进程通信、异常处理以及权限控制等多个环节...
综上所述,"杀不死的服务Service"是指一种设计用于在各种情况下都能保持运行的Android Service。然而,这种服务的实现需要遵循Android的生命周期管理和最佳实践,同时注意系统的资源和电源管理,以保证系统的稳定性...
这个主题,"杀不死的进程",虽然在某些情况下可能被视为恶意行为,但在合法的应用场景中,它有助于确保关键服务的稳定性和持久性。 首先,我们来理解一下什么是进程守护。在Linux或者Unix系统中,通常会使用守护...
通过调用`startForeground()`方法并提供一个通知,应用可以声明其为前台服务,这将使系统更少地杀死该服务,因为用户已经了解了它的存在。 3. **JobScheduler/WorkManager**:Android提供了调度器,如JobScheduler...
在决定结束进程时,通常不建议终止前台或重要服务,以免影响用户体验。开发者需要根据`RunningAppProcessInfo`的`importance`字段来判断。 5. **结束进程**: 使用`ActivityManager`的`killBackgroundProcesses()`...
然而,有时开发者可能需要创建一个"杀不死"的Service,确保服务即使在用户退出应用或者系统清理内存时仍然能够持续运行。这通常涉及到Service的生命周期管理以及系统对后台服务的限制。 "杀不死service"的概念并不...
- 当应用被系统杀死或用户切换到其他应用时,服务需要保存当前播放状态(如播放位置、是否暂停等),并在重新启动时恢复。 11. **播放进度更新** - 可以定期更新通知中的播放进度,让用户知道音乐的播放状态。这...
然而,Android系统为了优化资源管理,可能会在内存紧张时杀死正在运行的Service。本文将深入探讨如何使Android Service在被系统杀死后能够自动重启,以保持其后台任务的持续运行。 首先,我们要了解`onStartCommand...