xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 0.15M
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2020-12-22
  • 標簽: Android??and??服務??進程??

資源簡介

實現進程保活,暫時實現了雙進程守護、JobService檢測與拉起、進程死亡AlarmManager定時拉起、 廣播監聽(網絡變化、開機等),同時通過Timer和TimerTask實現心跳服務。

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

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

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

4、廣播監聽
動態廣播監聽:網絡變化、開屏、鎖屏、解鎖、點擊Home鍵
靜態廣播監聽:開機、連接電源、斷開電源、安裝應用、卸載應用


使用方法:

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

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中注冊服務

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

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;

/**
?*?當前進程服務
?*
?*?@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個文件信息

評論

共有 條評論