欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

android中判斷服務(wù)或者進(jìn)程是否存在實例

 更新時間:2017年05月27日 10:08:04   作者:o動感超人o  
本篇文章主要介紹了android中判斷服務(wù)或者進(jìn)程是否存在實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1.判斷進(jìn)程是否存在

 /**
  * 判斷是否在主進(jìn)程,這個方法判斷進(jìn)程名或者pid都可以,如果進(jìn)程名一樣那pid肯定也一樣
  *
  * @return true:當(dāng)前進(jìn)程是主進(jìn)程 false:當(dāng)前進(jìn)程不是主進(jìn)程
  */
 public boolean isUIProcess() {
  ActivityManager am = ((ActivityManager) getSystemService(Context.ACTIVITY_SERVICE));
  List<ActivityManager.RunningAppProcessInfo> processInfos = am.getRunningAppProcesses();
  String mainProcessName = getPackageName();
  int myPid = android.os.Process.myPid();
  for (ActivityManager.RunningAppProcessInfo info : processInfos) {
   if (info.pid == myPid && mainProcessName.equals(info.processName)) {
    return true;
   }
  }
  return false;
 }

2.判斷服務(wù)是否存在

 /**
  * 判斷service是否已經(jīng)運行
  * 必須判斷uid,因為可能有重名的Service,所以要找自己程序的Service,不同進(jìn)程只要是同一個程序就是同一個uid,個人理解android系統(tǒng)中一個程序就是一個用戶
  * 用pid替換uid進(jìn)行判斷強烈不建議,因為如果是遠(yuǎn)程Service的話,主進(jìn)程的pid和遠(yuǎn)程Service的pid不是一個值,在主進(jìn)程調(diào)用該方法會導(dǎo)致Service即使已經(jīng)運行也會認(rèn)為沒有運行
  * 如果Service和主進(jìn)程是一個進(jìn)程的話,用pid不會出錯,但是這種方法強烈不建議,如果你后來把Service改成了遠(yuǎn)程Service,這時候判斷就出錯了
  *
  * @param className Service的全名,例如PushService.class.getName()
  * @return true:Service已運行 false:Service未運行
  */
 public boolean isServiceExisted(String className) {
  ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
  List<ActivityManager.RunningServiceInfo> serviceList = am.getRunningServices(Integer.MAX_VALUE);
  int myUid = android.os.Process.myUid();
  for (ActivityManager.RunningServiceInfo runningServiceInfo : serviceList) {
   if (runningServiceInfo.uid == myUid && runningServiceInfo.service.getClassName().equals(className)) {
    return true;
   }
  }
  return false;
 }

注意:

上面判斷Service是否存在,用的uid和Service的類全名,網(wǎng)上我查到的資料,全部是用的pid,在Service和主進(jìn)程是一個進(jìn)程的時候,pid沒有問題,但是如果Service是遠(yuǎn)程Service,和主進(jìn)程就不是一個進(jìn)程了,這時候用pid和Service的類全名進(jìn)行判斷就會判斷錯誤

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何實現(xiàn)自定義SpringBoot的Starter組件

    如何實現(xiàn)自定義SpringBoot的Starter組件

    這篇文章主要介紹了實現(xiàn)自定義SpringBoot的Starter組件的示例代碼,想要自定義starter組件,首先要了解springboot是如何加載starter的,也就是springboot的自動裝配機制原理,本文結(jié)合示例代碼詳細(xì)講解,需要的朋友可以參考下
    2023-02-02
  • java線程封閉之棧封閉和ThreadLocal

    java線程封閉之棧封閉和ThreadLocal

    這篇文章主要介紹了java線程封閉之棧封閉和ThreadLocal,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • idea手動執(zhí)行maven命令的三種實現(xiàn)方式

    idea手動執(zhí)行maven命令的三種實現(xiàn)方式

    這篇文章主要介紹了idea手動執(zhí)行maven命令的三種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Spring靜態(tài)代理和動態(tài)代理代碼詳解

    Spring靜態(tài)代理和動態(tài)代理代碼詳解

    這篇文章主要介紹了Spring靜態(tài)代理和動態(tài)代理代碼詳解,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • SpringBoot Entity中枚舉類型詳細(xì)使用介紹

    SpringBoot Entity中枚舉類型詳細(xì)使用介紹

    本文介紹SpringBoot如何在Entity(DAO)中使用枚舉類型。(本文使用MyBatis-Plus)。在實際開發(fā)中,經(jīng)常會遇到表示類型或者狀態(tài)的情況,比如:有三種支付方式:微信、支付寶、銀聯(lián)。本文介紹如何這種場景的方案對比,并用實例來介紹如何用枚舉這種最優(yōu)雅的來表示
    2022-10-10
  • 微服務(wù)架構(gòu)設(shè)計RocketMQ基礎(chǔ)及環(huán)境整合

    微服務(wù)架構(gòu)設(shè)計RocketMQ基礎(chǔ)及環(huán)境整合

    這篇文章主要介紹了微服務(wù)架構(gòu)設(shè)計入門RocketMQ的基礎(chǔ)及環(huán)境整合實現(xiàn)步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • mybatis-plus更新策略部分字段不更新問題

    mybatis-plus更新策略部分字段不更新問題

    這篇文章主要介紹了mybatis-plus更新策略部分字段不更新問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Java輸入年份和月份判斷多少天實例代碼

    Java輸入年份和月份判斷多少天實例代碼

    這篇文章主要給大家介紹了關(guān)于Java輸入年度和月份判斷多少天的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Java連接Oracle數(shù)據(jù)庫實例解析

    Java連接Oracle數(shù)據(jù)庫實例解析

    數(shù)據(jù)庫的操作是當(dāng)前系統(tǒng)開發(fā)必不可少的開發(fā)部分之一。接下來通過本文給大家介紹Java連接Oracle數(shù)據(jù)庫實例解析,非常不錯具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-06-06
  • java實現(xiàn)向有序數(shù)組中插入一個元素實例

    java實現(xiàn)向有序數(shù)組中插入一個元素實例

    本篇文章主要介紹了java實現(xiàn)向有序數(shù)組中插入一個元素實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評論