android監聽應用安裝
㈠ android程序怎樣監聽自身程序被安裝和卸載
在android系統中,安裝和卸載都會發送廣播,當應用安裝完成後系統會發android.intent.action.PACKAGE_ADDED廣播。可以通過intent.getDataString()獲得所安裝的包名。當卸載程序時系統發android.intent.action.PACKAGE_REMOVED廣播。同樣intent.getDataString()獲得所卸載的包名。
㈡ android為什麼監聽不到應用覆蓋安裝的廣播
這里的廣播是指你app里的廣播還是手機系統的廣播。
如果是你自己手機的app的廣播,你是否有注冊監聽廣播。
如果是手機系統的廣播,因為以前所有的app開啟及運行,都以監聽手機開機廣播,後來開發商直接攔截,不讓app監聽手機開機等廣播。
㈢ android 8.0以上監聽app安裝
Android 8.0去掉了部分隱式廣播,例如網路的變化、app的安裝和卸載等。這些廣播使用之前的的靜態注冊已經不能接收到廣播,需要動態注冊才能收到廣播。
APP安裝的廣播注冊流程
private void () {
IntentFilter intentFilter =new IntentFilter();
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
intentFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);
intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
intentFilter.addDataScheme("package");
StarNewsSdk.getContext().registerReceiver(mInstallAppBroadcastReceiver, intentFilter);
}
private =new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent !=null && TextUtils.equals(Intent.ACTION_PACKAGE_ADDED, intent.getAction())) {
if (intent.getData() !=null) {
String packageName = intent.getData().getSchemeSpecificPart();
Log.d(TAG,"安裝的app的包名是-------->" + packageName);
}
}
}
}
};
㈣ Android 能不能監聽到第三方應用App的啟動和退出
應該是可以的。還可以在應用內調用某些應用 或者 是獲取並操作其他應用的數據,不過要有相關的許可權或者ContentProvider。
監聽程序啟動見 某大神的博客:
http://blog.csdn.net/xiao_chilun/article/details/52096149
㈤ Android 能不能監聽到第三方應用App的啟動和退出
可以,我原來做的是用一個計時器(為了准確率可以0.1s輪詢一次)去監聽手機的TopActivity,獲取TopActivity的包名(應用的包名是唯一的),當TopActivity發生變化就說明使用的應用發生了改變,就實現了監聽第三方應用的啟動和退出(其中也包括系統應用,過濾包名就可以了)。有什麼問題再問我
㈥ android程序怎樣監聽自身程序被安裝和卸載
這個我想到的就一種方法,讀取Log信息,然後判斷是否被安裝,其實系統安裝成功之後,會發廣播的,很詳細,但是這種廣播最好是第三方軟體堅定為好,自己就沒法監聽,我前一陣子做升級,就像用這個,但是沒用成,最後只是下載apk成功之後,發送給伺服器日誌信息,感覺自己監聽自己,功能實現上好像有些矛盾,個人意見..