0
我已經嘗試了下面的代碼獲取forground應用程序包名稱,但它只獲取我自己的應用程序包名稱。其他應用程序包名稱將爲null.it表示它正在返回空...我怎樣才能得到包名..是有沒有其他辦法。我知道getrunningappprocess被阻斷由谷歌從以下方法如何在Android的棒棒糖版本後獲取包名稱
(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
List<ActivityManager.RunningAppProcessInfo> tasks = manager.getRunningAppProcesses();
String mpackageName = tasks.get(0).processName;
UsageStatsManager usage = (UsageStatsManager) this.getSystemService(this.USAGE_STATS_SERVICE);
long time = System.currentTimeMillis();
List<UsageStats> appList = usage.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000 * 1000, time);
if (appList != null && appList.size() > 0) {
SortedMap<Long, UsageStats> runningTask = new TreeMap<Long, UsageStats>();
for (UsageStats usageStats : appList) {
runningTask.put(usageStats.getLastTimeUsed(), usageStats);
}
if (!runningTask.isEmpty() && runningTask != null) {
mpackageName = runningTask.get(runningTask.lastKey()).getPackageName();
}
}
for (int i = 0; pakageName != null && i < pakageName.size(); i++) {
Log.e("AppCheck", "comfor2 : " + mpackageName + " pak2 : " + pakageName.get(i));
if (mpackageName.equals(pakageName.get(i))) {
currentApp = pakageName.get(i);
return true;
}
}
}
這段代碼有讓我自己包的名稱只寫 – Karthik
也'getPackageName()。的getClass()'..可能會有所幫助 –
不working..is任何其他方式? – Karthik