07 獲取最新應用的包名

2021-07-11 03:29:21 字數 1435 閱讀 8558

這個功能有什麼用呢

我想想比如我們要給程式加鎖,

程式鎖,

然後開啟乙個輸入密碼的介面

因為我們要一直監聽開啟的程式,

所以是乙個耗時

的操作我們放到子執行緒中去,

當然是在oncreate

方法中執行

public void oncreate().start();

其實就是我們一直重新整理最新的任務棧,

也就是最新

的應用.

然後就看這個應用裡面最底層的activity

的包名

先拿到activitymanager

listrunningtasks =

am.getrunningtasks(1);

這裡為什麼是1,

因為系統會自動把最新的那個任務

棧也就是最新的那個應用給我們

for (runningtaskinfo runningtaskinfo :

runningtasks) :

然後我們拿到單個的runnningtaskinfo

然後拿到最底層的activity

componentname baseactivity =

runningtaskinfo.baseactivity;

然後獲取包名

string packagename =

baseactivity.getpackagename();

ok,這樣我們就獲取到了最新開啟的任務棧(應用

) 的包名.

就是獲取任務棧的許可權

android:name="android.permission.get_tasks"

我們的操作是放在子執行緒中執行的

所以我們關閉這個服務stopservice

的時候

子執行緒沒有被關閉,

還是在操作

所以我們要關閉子執行緒,

那麼我們在

service

的ondestroy

方法裡面實現

來個成員變數

private boolean isservicerunning=ture;

while(isservicerunning)

在ondestroy裡面

isservicerunning=false;

這樣while

迴圈就停止了

然後再在oncreate

方法剛開始的時候設定一下

oncreate:

isservicerunning=true;

我們現在while

迴圈開啟的時候一直在迴圈

這樣非常消耗記憶體

那麼我們加一點條件讓迴圈少一點

每次while

迴圈結束的時候我們讓迴圈休息一會兒 暫停

來個sleep(500);

然後try catch一下

Android獲取其他應用包名

本節內容是如何獲取android系統中應用程式的資訊,主要包括packagename label icon 占用大小等。具體分為兩個 部 分,計畫如下 第一部分 獲取應用程式的packagename label icon等 第二部分 獲取應用程式的占用大小,包括 快取大小 cachsize 資料大小...

應用的包名

一 包名是什麼?包名 package name 是應用的唯一標識,即 包名必須唯一,乙個包名代表乙個應用,不允許兩個應用使用同樣的包名。包名主要用於系統識別應用,幾乎不會被使用者看到。二 包名的規則 可以包含大寫字母 小寫字母 數字 下劃線。可以使用.英文句號 分隔,隔開的每一段都必須以字母開頭。三...

Android獲取包名的方法

方法一 adb shell pm list package f 將獲取手機內所有apk對應的包名和路徑 方法二 adb shell dumpsys window w findstr findstr name 先開啟需要查詢的apk後,再敲入以上命令 方法三 c users administrator...