Android應用保活四步曲

2021-09-26 13:54:23 字數 2184 閱讀 8864

本文針對國內手機廠商對於後台應用無法保活的限制下,使用者還希望你的應用能在後台保持執行。

ps:如果使用者不給許可權,除非加入系統白名單,否則你的應用會死的一乾二淨。

public class yourservice extends service 

}

這種方式算是中規中矩了,也不違反官方的程式設計規範。但是如果使用者頻繁的殺死你的應用,或者在設定中手動強制停止你的service,那麼重新啟動的時機就不好說了,有可能一直啟動不起來了。

目前這種方式有兩個弊端:

如果系統限制你的應用自啟動,那麼乖乖的請求使用者去把自啟動許可權開啟吧,否則永遠沒戲。 

經過在oppo的機器上測試,就算是允許了應用自啟動,我們應用也不會立即重新啟動,這個啟動時機無法確定。 

為了盡快讓自己應用啟動起來,可以新增jobservice週期任務,在最短週期內喚醒自己的應用。其中,小公尺推送就是利用了jobservice這種機制。當然,只能在5.0以上的系統使用。

//定義乙個service,繼承jobservice

@requiresapi(api = build.version_codes.lollipop)

public class keepalivejobservice extends jobservice

@override

public boolean onstopjob(jobparameters params)

}//不要忘了在清單檔案中宣告

//最後在應用啟動時,開啟這個service

private void startkeepalivejobservice(context context)

builder.setpersisted(true);

jobscheduler scheduler = (jobscheduler) context.getsystemservice(job_scheduler_service);

if (scheduler != null)

}}

咳咳,那麼有沒有一種許可權,比較好設定,允許後不管怎麼清除應用,都可以馬上重新啟動呢?

那就是通知監聽服務(notificationlistenerservice),讀者可以在手機開發者模式中,檢視正在執行服務中,有一些服務有乙個「通知偵聽器」的設定,而這些服務是怎麼殺都殺不死的,例如某某0手機助手。它就是開啟了通知監聽服務,並獲取到了許可權,大家可以自行嘗試。下面是使用方法(4.4系統以上適用):

//新建notificationlistenerservice子類

@targetapi(build.version_codes.jelly_bean_mr2)

public class mynotificationlistenerservice extends notificationlistenerservice

@override

public void onnotificationremoved(statusbarnotification sbn)

@override

public void onlistenerconnected()

@override

public void onlistenerdisconnected()

@override

public void ondestroy()

}//在清單檔案中宣告

//開啟服務

intent intent = new intent(getbasecontext(), mynotificationlistenerservice.class);

startservice(intent);

//檢查是否有該許可權

if (pcknames != null && pcknames.contains(getpackagename())) else

//跳轉設定頁

string action_notification_listener_settings = "android.settings.action_notification_listener_settings";

startactivity(new intent(action_notification_listener_settings));

感覺有點流氓,不過是必須在使用者允許的情況才能使用,且用且珍惜。

Android應用保活

一.應用保活 1.應用保活 應用保活就是在 a.使用者主動行為或者 b.系統根據當前系統狀態的被動行為 而觸發的殺程序動作後,程序設計讓自己免於被殺的命運或者被殺後快速重生的把戲 1.對應用來說 保持長久的活躍 即應用程序常駐,不會輕易被殺掉 對自己的業務是非常有益的,簡要概括 只要應用活著就可以幹...

腦健康四步曲

新的研究使我們注意到高膽固醇可能使腦細胞較易痴呆。心臟 大腦關係到長期健康 心臟病患者做的很多事對於我們大家保持大腦健康也是好的.因此,由防止心臟病發作,你可避免腦消耗。1 服用維生素b 維生素b可以幫助阻止高半胱氨酸,它是損害血管的一種氨基酸。乙份關於芝加哥總部繁忙研究所研究員中老人的研究中發現,...

危機公關四步曲

危機公關四步曲 隨著資訊科技的進一步發展,尤其是網際網路已經很大程度上改變了人們資訊傳播的途徑和速度,原先的 好事不出門,壞事傳千里 在資訊社會裡壞事的傳播加速度已經遠遠超越了人們的想象。隨著 sk ii 產品含有違禁成分 事件的 由於 sk ii 在危機處理過程中舉措失當,引發各地消費者退貨退款的...