Android編程實(shí)現(xiàn)監(jiān)控apk安裝,卸載,替換的方法
本文實(shí)例講述了Android編程實(shí)現(xiàn)監(jiān)控apk安裝,卸載,替換的方法。分享給大家供大家參考,具體如下:
public class GetBroadcast extends BroadcastReceiver {
private static GetBroadcast mReceiver = new GetBroadcast();
private static IntentFilter mIntentFilter;
public static void registerReceiver(Context context) {
mIntentFilter = new IntentFilter();
mIntentFilter.addDataScheme("package");
mIntentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
mIntentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
mIntentFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);
context.registerReceiver(mReceiver, mIntentFilter);
}
public static void unregisterReceiver(Context context) {
context.unregisterReceiver(mReceiver);
}
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (Intent.ACTION_PACKAGE_ADDED.equals(action)) {
Toast.makeText(context, "有應(yīng)用被添加", Toast.LENGTH_LONG).show();
} else if (Intent.ACTION_PACKAGE_REMOVED.equals(action)) {
Toast.makeText(context, "有應(yīng)用被刪除", Toast.LENGTH_LONG).show();
}
/*
* else if(Intent.ACTION_PACKAGE_CHANGED.equals(action)){
* Toast.makeText(context, "有應(yīng)用被改變", Toast.LENGTH_LONG).show(); }
*/
else if (Intent.ACTION_PACKAGE_REPLACED.equals(action)) {
Toast.makeText(context, "有應(yīng)用被替換", Toast.LENGTH_LONG).show();
}
/*
* else if(Intent.ACTION_PACKAGE_RESTARTED.equals(action)){
* Toast.makeText(context, "有應(yīng)用被重啟", Toast.LENGTH_LONG).show(); }
*/
/*
* else if(Intent.ACTION_PACKAGE_INSTALL.equals(action)){
* Toast.makeText(context, "有應(yīng)用被安裝", Toast.LENGTH_LONG).show(); }
*/
}
}
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android 8.0安裝apk的實(shí)例代碼
- android 使用虛擬機(jī)安裝apk(圖文教程)
- android自動(dòng)安裝apk代碼實(shí)例(不使用apk安裝器安裝)
- Android簡(jiǎn)單判斷某個(gè)APK是否已經(jīng)安裝的方法
- Android安裝apk文件并適配Android 7.0詳解
- Android實(shí)現(xiàn)用代碼簡(jiǎn)單安裝和卸載APK的方法
- Android apk無(wú)法安裝及閃退問(wèn)題解決辦法
- Android模擬器中安裝apk的方法
- Android 8.0不能自動(dòng)安裝APK問(wèn)題的解決方法(完美適配)
相關(guān)文章
flutter?material?widget組件之信息展示組件使用詳解
這篇文章主要為大家詳細(xì)介紹了flutter?material?widget組件之信息展示組件的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
Android 滑動(dòng)小圓點(diǎn)ViewPager的兩種設(shè)置方法詳解流程
Viewpager,視圖翻頁(yè)工具,提供了多頁(yè)面切換的效果。Android 3.0后引入的一個(gè)UI控件,位于v4包中。低版本使用需要導(dǎo)入v4包,現(xiàn)在我們一般不再兼容3.0及以下版本,另外使用Android studio開(kāi)發(fā),默認(rèn)導(dǎo)入v7包,v7包含了v4,所以不用導(dǎo)包,越來(lái)越方便了2021-11-11
Android自定義Dialog實(shí)現(xiàn)通用圓角對(duì)話框
這篇文章主要為大家詳細(xì)介紹了Android自定義Dialog實(shí)現(xiàn)通用圓角對(duì)話框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
Android 實(shí)現(xiàn)手機(jī)接通電話后振動(dòng)提示的功能
本文主要介紹Android 實(shí)現(xiàn)手機(jī)接通電話后振動(dòng)提示的功能,這里整理了詳細(xì)的相關(guān)資料,并附有示例代碼,有需要的朋友可以參考下2016-08-08
Android Activity Results API代替onActivityResul
說(shuō)到onActivityResult,我們已經(jīng)非常熟悉來(lái),通過(guò)在A activity啟動(dòng)B activity并且傳入數(shù)據(jù)到B中,然后在A中通過(guò)onActivityResult來(lái)接收B中返回的數(shù)據(jù)。在最新的activity-ktx的beta版本中,谷歌已經(jīng)廢棄了onActivityResult2022-09-09
Android 中TextView中跑馬燈效果的實(shí)現(xiàn)方法
這篇文章主要介紹了Android 中TextView中跑馬燈效果的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
Android之IphoneTreeView帶組指示器的ExpandableListView效果
在正在顯示的最上面的組的標(biāo)簽位置添加一個(gè)和組視圖完全一樣的視圖,作為組標(biāo)簽。這個(gè)標(biāo)簽的位置要隨著列表的滑動(dòng)不斷變化,以保持總是顯示在最上方,并且該消失的時(shí)候就消失2013-06-06
Flutter中如何加載并預(yù)覽本地的html文件的方法
這篇文章主要介紹了Flutter中如何加載并預(yù)覽本地的html文件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Android編程之防止反編譯的實(shí)現(xiàn)方法
這篇文章主要介紹了Android編程之防止反編譯的實(shí)現(xiàn)方法,涉及Android針對(duì)運(yùn)行環(huán)境、簽名及程序相關(guān)信息的獲取與判定技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11

