欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Android中怎么根據(jù)包名判斷App運行狀態(tài)

這篇文章將為大家詳細(xì)講解有關(guān)Android中怎么根據(jù)包名判斷App運行狀態(tài),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

創(chuàng)新互聯(lián)建站專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、黃浦網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計、商城建設(shè)、集團公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為黃浦等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

背景

可以根據(jù) App 是否有 Service 分兩類情況處理:

① 沒有 Service

② 有 Service

對于沒有 Service 的 App,程序一旦切換到后臺,可能很快就被回收了,這里使用 ActivityManager.getRunningTasks(int maxNum) 方法來獲取當(dāng)前正在運行的任務(wù),注意:此方法并不被系統(tǒng)推薦,且是一個 Deprecated 的方法。

對于有 Service 的 App,大多會有多個 Service ,且有可能都是 :remote 類型的,這樣在判斷上需要進行一定的處理,這里根據(jù) App 的 uid 來判斷,避免在一些特殊的情況下判斷存活不準(zhǔn)確的問題。我們使用 ActivityManager.getRunningServices(int maxNum) 方法獲取當(dāng)前運行中的 Service 列表。

注意:App 的 uid 對于系統(tǒng)內(nèi)置 App 而言不是唯一的,Android 內(nèi)置的應(yīng)用會有共用 uid 的情況。如果你是開發(fā)系統(tǒng)內(nèi)置應(yīng)用或者類似的東西,務(wù)必要自行進行特殊方式檢查。

實現(xiàn)

下面是幾個工具類,在正式使用的時候需要配合使用,才能覆蓋全部情況:

/**
* 方法描述:判斷某一應(yīng)用是否正在運行
* Created by cafeting on 2017/2/4.
* @param context   上下文
* @param packageName 應(yīng)用的包名
* @return true 表示正在運行,false 表示沒有運行
*/
public static boolean isAppRunning(Context context, String packageName) {
    ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(100);
    if (list.size() <= 0) {
      return false;
    }
    for (ActivityManager.RunningTaskInfo info : list) {
      if (info.baseActivity.getPackageName().equals(packageName)) {
        return true;
      }
    }
    return false;
}
//獲取已安裝應(yīng)用的 uid,-1 表示未安裝此應(yīng)用或程序異常
public static int getPackageUid(Context context, String packageName) {
    try {
      ApplicationInfo applicationInfo = context.getPackageManager().getApplicationInfo(packageName, 0);
      if (applicationInfo != null) {
        Logger.d(applicationInfo.uid);
        return applicationInfo.uid;
      }
    } catch (Exception e) {
      return -1;
    }
    return -1;
}
/**
* 判斷某一 uid 的程序是否有正在運行的進程,即是否存活
* Created by cafeting on 2017/2/4.
*
* @param context   上下文
* @param uid 已安裝應(yīng)用的 uid
* @return true 表示正在運行,false 表示沒有運行
*/
public static boolean isProcessRunning(Context context, int uid) {
    ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningServiceInfo> runningServiceInfos = am.getRunningServices(200);
    if (runningServiceInfos.size() > 0) {
      for (ActivityManager.RunningServiceInfo appProcess : runningServiceInfos){
        if (uid == appProcess.uid) {
          return true;
        }
      }
    }
    return false;
}

在正式使用的時候結(jié)合兩者即可:

String pName = "xxx";
int uid = getPackageUid(context, pName);
if(uid > 0){
  boolean rstA = isAppRunning(context, pName);
  boolean rstB = isProcessRunning(context, uid);
  if(rstA||rstB){
    //指定包名的程序正在運行中
  }else{
    //指定包名的程序未在運行中
  }
}else{
  //應(yīng)用未安裝
}

關(guān)于Android中怎么根據(jù)包名判斷App運行狀態(tài)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

文章名稱:Android中怎么根據(jù)包名判斷App運行狀態(tài)
網(wǎng)頁路徑:http://aaarwkj.com/article18/iijcgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站導(dǎo)航定制網(wǎng)站網(wǎng)站收錄、響應(yīng)式網(wǎng)站網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
国产无人区码一区二区| 很黄很刺激的视频中文字幕 | 丰满人妻少妇一区二区| 久热在线这里只有精品| 亚洲区一区二区三区精品| 岛国av不卡一二三区| 好色人妻在线播放中文字幕| 中文精品字幕人妻熟女小妇| 亚洲一区二区三区在线观看呢| 亚洲精品日韩国产3区| 丰满少妇一区二区自拍区| 日韩成人中文字幕电影| 国产一区在线视频无卡顿| 欧美日韩精品激情一区二区| 丰满人妻一区二区三区免费| 高清日韩精品视频在线观看| 青青草原在线观看网站| 欧美伊人久久大综合精品| 国产怡红院在线视频观看| 强暴美女视频大全久久久| 91色老久久精品偷偷鲁无毒| 夜福利国产视频大屁股| 亚洲欧美国产另类精品| 精品人妻中文字幕在线| 国产精品自拍国产精品| 日本不卡二区高清三区| 亚洲精品一区二区午夜| 久久亚洲第一视频网站| 色综合色综合蘑菇在线| 国产高清学生三级一区二区| 国产在线精品专区第一页| 内射极品美女在线观看| 亚洲综合激情另类专区| 欧美亚洲成人免费电影| 亚洲免费视频一二三区| 国产成人久久精品二区三区| 欧美日韩国产一区在线观看 | 91伊人激情综合久久| 西西美女掰开阴让你看| 国产青草视频免观看视频| av在线成人国产精品欧美|