日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

卸载Android app弹出浏览器的一种实现

發布時間:2025/3/15 Android 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 卸载Android app弹出浏览器的一种实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

????卸載Android應用程序時,經常會彈出網頁,做些用戶數據的調查統計。Android是可以獲取到其它應用被卸載掉這個事件,但是并不能獲取自身被卸載這個事件。從純粹的java層是沒法實現的,本文介紹一種方法來實現它。


原理

????簡單來說就是創建后臺進程,監控文件夾的刪除事件。比如說app的包名是com.myname.myapp,后臺進程監控的文件夾就是/data/data/com.myname.myapp。如何監控文件夾被刪除這一事件,主要用的是inotify系列函數,這在jni中的進程通訊的另一種實現方式?有介紹。


注意點

  • 后臺進程只需要一個就行了,不需要多個的,之前我注意到企鵝的一款產品做這個功能時,后臺啟動了多個進程。如何實現?可以參考Android JNI層確保只有一個進程的一個實現,提供一種思路。

  • 幾種重點測試情形:a. 清理app的數據 ?b.升級app ? c. 強制關閉app,然后重啟app。


  • 代碼

    github地址?uninstallWatcher

    代碼實現以及demo都有了,接口也已經封裝好,判斷后臺進程是否唯一,有點過于簡單,歡迎完善代碼。

    代碼使用也很簡單。

    public?class?DemoApp?extends?Application{@Overridepublic?void?onCreate()?{Log.i("UninstallDemoApp",?"onCreate");WatchDog.init2("com.bananachip.uninstall",?"libwatchDog.so",?WatchDog.getUserSerial(this),?"http://www.baidu.com");super.onCreate();}}

    程序員都看得懂,不做解釋。

    我這個實現中,判斷進程是否存在做的比較簡單,僅僅是查詢進程名libwatchDog.so。使用時自己要改名。


    如何編譯?

    jni部分不是通過eclipse編譯的。

    cd jni

    ndk-build

    rename.bat

    使用eclipse運行demo


    其它

    1. ?本文參考了其它博客,不過博客實現有不少問題。

    2. 不是所有的android機型刪掉app之后都能彈出網頁,比如小米,紅米,這些機型會對后臺進程進行額外的管理。


    ------------歡迎評頭品足

    ------------by jacksonke




    轉載于:https://my.oschina.net/u/1445604/blog/496907

    總結

    以上是生活随笔為你收集整理的卸载Android app弹出浏览器的一种实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。