[英]Get list of installed applications within library Android
我已經找到了這個答案如何獲取已安裝的android應用程序列表並選擇一個要運行的應用程序
但這並不能完全回答我的問題,盡管我只需要查找是否安裝了特定的應用程序,但是庫中沒有上下文,因此我可以調用getPackageManager()並獲取應用程序列表。
還有其他方法嗎? 也許可以通過在Android文件系統中搜索來實現Java唯一的解決方案?
請幫忙!
通常,您通常必須將Context
參數添加到庫API中,例如,要使用init函數,並從使用它的應用程序中傳遞一個Context。
但是,有一個駭客的解決方法(單行,以強調這是一個丑陋的駭客):
if (Runtime.getRuntime().exec(new String[]{"/system/bin/sh","-c","cd /data/data/jackpal.androidterm"}).waitFor() == 0) { Log.d("!!!", "Android Terminal Emulator app is installed"); }
此代碼將檢查Andorid文件系統中是否存在私有應用程序目錄。 您不能列出另一個應用程序的私有目錄,也不能從其中打開任何文件,但是可以嘗試通過chdir檢查該目錄是否存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.