1. 程式人生 > >Android 從底層實現讓應用殺不死(1)

Android 從底層實現讓應用殺不死(1)

情景還原:

我的應用呼叫了Notification,但是如果被流氓清理軟體殺死,在有些機型出現Notification沒有被抹除的情況,因為喪失了對Notification的引用,使用者也無法抹除這個Notification,這將大大降低使用者體驗。於是,我想出瞭如果我的應用可以不死,主動清除Notification。

既然開始做了,乾脆做了個小調查。

經獲取Root許可權TaskManager清除之後能重生的應用使用的方式(測試機型:魅藍Note  ) 

使用方法

public
class YourDaemonService { public void onCreate() { Daemon.run(this,YourDaemonService.class,60); } }

原理分析:

一、首先呼叫這個函式 開啟守護程序

Daemon.run(this, DaemonService.class, Daemon.INTERVAL_ONE_MINUTE * 2);
public class Daemon { /** * Run daemon process.
* * @param context            context * @param daemonServiceClazz the name of daemon service class * @param interval           the interval to check */ public static void run(final Context context, final Class<?> daemonServiceClazz, final int interval) {
new Thread(new Runnable() { @Override public void run() { Command.install(context, BIN_DIR_NAME, DAEMON_BIN_NAME); start(context, daemonServiceClazz, interval); } }).start(); } }

二、install 安裝庫

public class Daemon {

相關推薦

Android 底層實現應用1

情景還原: 我的應用呼叫了Notification,但是如果被流氓清理軟體殺死,在有些機型出現Notification沒有被抹除的情況,因為喪失了對Notification的引用,使用者也無法抹除這個Notification,這將大大降低使用者體驗。於是,我想出

炸金花的JS實現0開始之 -------現在什麽都1

nds 朋友 div rand art iam src blog js實現 新年結束了。回想起來唯一留下樂趣的就是在家和朋友玩玩炸金花。 遂有此文。 對不起,我這時候還沒有思路。 讓我捋一捋。 。。。 。。。 捋一捋啊。。。 。。。 好了。今天先這樣吧: (1)先整理出所有

網際網路面試必:如何保證訊息中介軟體全鏈路資料100%丟失1【石杉的架構筆記】

歡迎關注個人公眾號:石杉的架構筆記(ID:shishan100) 週一至週五早8點半!精品技術文章準時送上! 1、背景引入 這篇文章,我們來聊聊在線上生產環境使用訊息中介軟體技術的時候,從前到後的全鏈路到底如何保證資料不能丟失。 這個問題,在網際網路公司面試的時候高頻出現,而且也是非常現實的生產環境問

Android -- 自定義實現橫豎雙向滾動的列表ListView佈局

public class CustomHScrollView extends HorizontalScrollView { ScrollViewObserver mScrollViewObserver = new ScrollViewObserver(); public CustomHSc

Android自動化測試遇到的問題及解決方法1

粘貼 png family 學習 再次 jmeter log 初始 mage 編者按:本文是小小小提姆在使用自動化測試工具TestWriter時的一點使用心得~我叫小小小提姆,是一名在IT行業的洪流中力爭上遊的軟件測試員,個人軟件測試擅長方向:1、功能測試(熟悉Fiddle

Web API應用架構設計分析1

人員管理 門面 guid orm 和平 ide 額外 簡化 響應 Web API應用架構設計分析(1) Web API 是一種應用接口框架,它能夠構建HTTP服務以支撐更廣泛的客戶端(包括瀏覽器,手機和平板電腦等移動設備)的框架, ASP.NET Web API 是一種

【開源分享:入門到精通ASP.NET MVC+EF6+Bootstrap】這裏開始,一起搭框架1開篇介紹

strong src 擁有 ckeditor 開發 技術分享 mdi 控制 https 框架簡介 這幾年一直在做ASP.NET開發,幾年前做項目都是老老實實一行行的寫代碼,後來發現那些高手基本都會有自己積累起來的代碼庫,現在稱之為開發框架,基礎代碼不用再去堆,

android BSP與硬件相關子系統讀書筆記1android BSP移植綜述

tin 不用 googl csdn splay 編寫 app開發 意圖過濾器 trac 從linux驅動轉行至Android驅動開發大半年了,一開始就產生了一個很糾結目標和問題,就是不停的google如何porting android!這個問題得到的結果對於初出茅廬的我,感

基於Android平臺的圖書管理系統的制作1

teacher stat load over sta ews 來講 androi 管理系 在學習了郭神的第一行代碼前半段之後,想通過一次實踐來完成對已學知識的鞏固。於是碼下了這個圖書管理系統客戶端。 IDE Android studio,語言 JAVA、XML; 在剛開始設

零寫分散式RPC框架 系列 第一版 1架構設計

本系列文章的目的是搭建出一個基於Netty,Zookeeper和SpringBoot的簡易分散式RPC框架,並且釋出到Maven中央倉庫以 spring-boot-starter 的形式對外提供開箱即用的服務。1.0 版本使用 protobuf 來做序列化,最終的使用形式比較接近於 Du

使用VBA代碼實現簡單自定義函數1

分享圖片 excel表格 style 實現 圖片 ima 我們 text inf 自定義函數VBA代碼1 有一份數據如下,要添加季度信息,我們用VBA實現自定義季度函數: 打開VBE編輯器,插入一個函數 代碼如下: 此時返回excel表格出現了我們自定義的函數如下:

selenium+python實現檔案上傳的方法1

檔案上傳 上傳檔案是比較常見的web端操作,但是在selenium的webdriver中沒有專門用於上傳的方法,下面介紹send_keys上傳方式實現上傳檔案 首先建立一個html檔案,主要實現上傳功能 upload file 頁面長這個樣子(每個瀏覽器裡頁面可能長得不一樣):

零開始的畢設--HTML&&CSS1

HTML5新特性 我們用div是這樣寫的頁面: http://www.w3school.com.cn/html5/html5_reference.asp <nav> 定義導航連結。 <header>定義 section 或 page 的

audio 應用:聲波通訊1應用場景

通訊都需要介質,常見的依賴於光波,電磁波,聲波等,隨著生活水平的提高,人們也越來越主要身體健康,WiFi訊號這樣使用電磁波通訊的開始受到‘嫌棄’,市面上出現了大量的主打‘健康’、‘安全’的路由器,這些做

YAML的Java實現——JYAML基本原理與示例1匯出資料為YAML格式檔案

1. Overview JYAML是YAML的Java實現,YAML的全稱是YAML Ain't Markup Language,是否定遞迴定義,和LINUX的Linux Is Not UniX是一個意思。其結構之簡單,常常成為匯出或匯入配置檔案、資料結構等應用場景的常用A

【機器學習演算法-python實現】決策樹-Decision tree1 資訊熵劃分資料集

1.背景          決策書演算法是一種逼近離散數值的分類演算法,思路比較簡單,而且準確率較高。國際權威的學術組織,資料探勘國際會議ICDM (the IEEE International Con

Android開發中遇到的錯誤及解決方法1

(1)Android APK安裝後不在桌面生成快捷方式圖示  大家知道在Android系統的手機安裝APK應用後會在桌面上生成此APK的快捷方式,使用者通過直接點選可以進入此應用程式。但作為開發人員,我們有時候並不希望在安裝APK完成後生成快捷方式,而是通過先進入某個應用程

java併發程式設計應用易忘知識點1java中的鎖

Lock介面 Java se5之後,出現了Lock介面,提供了與Synchronized類似同步功能。與synchronized相比,他雖然少了隱式獲取釋放鎖的便捷性,卻擁有了鎖獲取與釋放的可操作性、可中斷的獲取鎖以及超時獲取鎖等多種synchronized不具備的同步特性

IPv6實現--傳入包的處理流程1

IPv6中資料包的接收處理流程 在一個IPSEC包進入到網路層呼叫~/net/ipv6/ip6_input.c中的ipv6_rcv()函式,然後進入第一個鉤子NF_HOOK(PF_INET6, NF_INET_PRE_ROUTING, skb, dev, NULL,ip6_r

如何使用C實現MQTT+TLS客戶端程式1--使用mosquitto搭建MQTT伺服器

前言 這是一個使用C語言實現的MQTT/TLS的客戶端程式,主要應用在各類嵌入式產品。如果想使用在Android裝置上,讀者可以參考Paho mqtt。 簡單介紹MQTT MQTT遙測傳輸(MQ Telemetry Transport,MQT