91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

實現(xiàn)進(jìn)程保活,暫時實現(xiàn)了雙進(jìn)程守護(hù)、JobService檢測與拉起、進(jìn)程死亡AlarmManager定時拉起、 廣播監(jiān)聽(網(wǎng)絡(luò)變化、開機(jī)等),同時通過Timer和TimerTask實現(xiàn)心跳服務(wù)。

1、雙進(jìn)程守護(hù)
雙進(jìn)程即本地進(jìn)程和遠(yuǎn)程進(jìn)程,看兩個類: AbsHeartBeatService:本地進(jìn)程,抽象的心跳服務(wù) DaemonService:遠(yuǎn)程進(jìn)程,即守護(hù)進(jìn)程 啟動本地服務(wù)后會啟動遠(yuǎn)程進(jìn)程的服務(wù)并綁定遠(yuǎn)程服務(wù),同時遠(yuǎn)程服務(wù)也會綁定本地進(jìn)程的服務(wù), 任何一個服務(wù)停止都會得到另一個進(jìn)程的Binder通知,即刻被拉起,實現(xiàn)進(jìn)程保活的一種方式

2、JobService檢測與拉起
Android5.0以上可以使用JobService來做定時任務(wù),定時檢測本地進(jìn)程的服務(wù)是否在運(yùn)行,參考JobSchedulerService, 但是個別深度定制的ROM廠商屏蔽了JobService,比如小米手機(jī)。

3、進(jìn)程死亡AlarmManager定時拉起
AlarmManager是提供一種訪問系統(tǒng)鬧鐘服務(wù)的方式,允許你去設(shè)置在將來的某個時間點去執(zhí)行你的應(yīng)用程序。 當(dāng)你的鬧鐘時間到時,在它上面注冊的一個意圖(Intent)將會被系統(tǒng)以廣播發(fā)出,然后自動啟動目標(biāo)程序,如果它沒有正在運(yùn)行。 所以,不管是我們的本地進(jìn)程還是我們的遠(yuǎn)程進(jìn)程,如果他們死了,就在死的時候定一個被拉活的鬧鐘,等待復(fù)活。

4、廣播監(jiān)聽
動態(tài)廣播監(jiān)聽:網(wǎng)絡(luò)變化、開屏、鎖屏、解鎖、點擊Home鍵
靜態(tài)廣播監(jiān)聽:開機(jī)、連接電源、斷開電源、安裝應(yīng)用、卸載應(yīng)用


使用方法:

繼承AbsHeartBeatService抽象心跳服務(wù),在onHeartBeat()中處理自己的任務(wù),具體保活策略不需要關(guān)心

public class HeartBeatService extends AbsHeartBeatService {

    @Override
    public void onStartService() {
    }

    @Override
    public void onStopService() {
    }

    @Override
    public long getHeartBeatMillis() {
        return 30 * 1000;
    }

    @Override
    public void onHeartBeat() {
    }
}
在Manifest中注冊服務(wù)

<service android:name=".HeartBeatService"/>
初始化并啟動服務(wù)

DaemonHolder.init(this, HeartBeatService.class);

資源截圖

代碼片段和文件信息

package?com.sunfusheng.daemon;

import?android.app.Service;
import?android.content.ComponentName;
import?android.content.Context;
import?android.content.Intent;
import?android.content.ServiceConnection;
import?android.os.IBinder;
import?android.os.RemoteException;
import?android.support.annotation.Nullable;
import?android.util.Log;

import?java.util.Timer;
import?java.util.TimerTask;

/**
?*?當(dāng)前進(jìn)程服務(wù)
?*
?*?@author?sunfusheng?on?2018/8/1.
?*/
public?abstract?class?AbsHeartBeatService?extends?Service?{
????private?static?final?String?TAG?=?“--->?HeartBeatService“;

????private?Timer?timer?=?new?Timer();
????private?TimerTask?timerTask?=?new?TimerTask()?{
????????@Override
????????public?void?run()?{
????????????onHeartBeat();
????????}
????};

????private?final?DaemonAidl?aidl?=?new?DaemonAidl

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\
?????文件?????????137??2018-08-10?11:02??DaemonService-master\.gitignore
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\.idea\
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\.idea\caches\
?????文件?????????598??2018-08-10?11:02??DaemonService-master\.idea\caches\build_file_checksums.ser
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\.idea\codestyles\
?????文件????????1775??2018-08-10?11:02??DaemonService-master\.idea\codestyles\Project.xml
?????文件?????????159??2018-08-10?11:02??DaemonService-master\.idea\encodings.xml
?????文件?????????688??2018-08-10?11:02??DaemonService-master\.idea\gradle.xml
?????文件????????5802??2018-08-10?11:02??DaemonService-master\.idea\misc.xml
?????文件?????????564??2018-08-10?11:02??DaemonService-master\.idea\runConfigurations.xml
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\DaemonService\
?????文件???????????7??2018-08-10?11:02??DaemonService-master\DaemonService\.gitignore
?????文件?????????652??2018-08-10?11:02??DaemonService-master\DaemonService\build.gradle
?????文件?????????751??2018-08-10?11:02??DaemonService-master\DaemonService\proguard-rules.pro
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\DaemonService\src\
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\
?????文件????????1856??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\AndroidManifest.xml
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\aidl\
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\aidl\com\
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\aidl\com\sunfusheng\
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\aidl\com\sunfusheng\daemon\
?????文件?????????103??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\aidl\com\sunfusheng\daemon\DaemonAidl.aidl
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\java\
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\java\com\
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\java\com\sunfusheng\
?????目錄???????????0??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\java\com\sunfusheng\daemon\
?????文件????????3847??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\java\com\sunfusheng\daemon\AbsHeartBeatService.java
?????文件????????2836??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\java\com\sunfusheng\daemon\DaemonHolder.java
?????文件?????????552??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\java\com\sunfusheng\daemon\DaemonReceiver.java
?????文件????????6023??2018-08-10?11:02??DaemonService-master\DaemonService\src\main\java\com\sunfusheng\daemon\DaemonService.java
............此處省略59個文件信息

評論

共有 條評論