這個功能有什麼用呢
我想想比如我們要給程式加鎖,
程式鎖,
然後開啟乙個輸入密碼的介面
因為我們要一直監聽開啟的程式,
所以是乙個耗時
的操作我們放到子執行緒中去,
當然是在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...