亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android:如何檢查應用程序是否正在運行

Android:如何檢查應用程序是否正在運行

汪汪一只貓 2022-06-15 15:33:48
我需要通過 packageName 檢查 - 是否正在運行應用程序。在 v.21 之前,我只是得到正在運行的應用程序的列表并跳舞。但現在它不起作用 - 只返回一個我的應用程序。我知道我需要使用“統計使用”,但找不到完整的例子。我不需要所有這些分析,我需要一個簡單的功能bool isRunning(String packageName)如何在沒有圍繞它跳舞的情況下在新的 Android (>21) 上實現它?更新。code4rox的答案最好。一切正常,謝謝!我使用此代碼檢查權限:import android.content.pm.PackageManager;import android.content.pm.ApplicationInfo;import android.app.AppOpsManager;import android.util.Log;import  android.provider.Settings;try {            PackageManager packageManager = getContext().getPackageManager();            ApplicationInfo applicationInfo = packageManager.getApplicationInfo(getContext().getPackageName(), 0);            AppOpsManager appOpsManager = (AppOpsManager) getContext().getSystemService(Context.APP_OPS_SERVICE);            int mode = appOpsManager.checkOpNoThrow(AppOpsManager.OPSTR_GET_USAGE_STATS, applicationInfo.uid, applicationInfo.packageName);            if (!(mode == AppOpsManager.MODE_ALLOWED)) {                Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);                startActivity(intent);            }        } catch (PackageManager.NameNotFoundException e) {}這用于檢查應用程序:import android.util.Log;import android.app.usage.UsageStatsManager;import android.app.usage.UsageStats;import java.util.List;import java.util.SortedMap;import java.util.TreeMap;import java.util.ArrayList;
查看完整描述

2 回答

?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

出于安全原因,沒有任何方法可以讓所有正在運行的應用程序處于 API 級別 (>21)。

您可以使用時間間隔訪問應用程序使用歷史記錄和統計信息:天、周、月和年UsageStatsManager

這是官方文檔鏈接

clean master、ccleaner等其他應用程序使用此技術來運行應用程序。

是獲取應用程序列表的示例UsageStatsManager

注意:您必須 在使用前授予使用訪問權限UsageStatsManager


查看完整回答
反對 回復 2022-06-15
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

您可以訪問文檔。向下滾動到方法部分。其中一些方法需要許可,而其中一些僅用于調試。希望有幫助。



查看完整回答
反對 回復 2022-06-15
  • 2 回答
  • 0 關注
  • 333 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號