메뉴 건너뛰기

조회 수 6640 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

Service 약이되면 좋은 약이지만 독이 되면 독이 될 수있는 그러한 기능인데..

그렇다면 이제 어떠한 서비스가 실행중인지를 나타내는 소스를 작성해보도록한다. 

 

  <uses-permission android:name="android.permission.GET_TASKS"/>

 

  

기본적으로 퍼시면은 GET_TASKS이다. 이것을 실행시켜야만 실행중 클래스를 볼 수있다는데,,,

근데 하라고는 나와있는데 안해도 되는 듯하다. ;;  

 

아무튼 본론으로 들어가서 소스를 작성해보도록하자. 

 

public boolean isRunningRecord(String service){

  //Service 매니저를 가져 온다. 

  ActivityManager manager=(ActivityManager)getSystemService(ACTIVITY_SERVICE);

  //모든 서비스의 목록을 가져오도록한다. 

  List<ActivityManager.RunningServiceInfo> rsi=manager.getRunningServices(1000);

  for(int i=0;i<rsi.size();i++){

   ActivityManager.RunningServiceInfo rsInfo=rsi.get(i);

   //하나씩 일일히 검사한다. 

   Log.e("null","list "+i+" "+rsi.size()+" "+rsInfo.service.getClassName());

   if(rsInfo.service.getClassName().equals(service)){

    //특정 찾고있는 것이 있으면 트루 를 반환한다. 

    return true;

   }

  }

  return false;

}

 

 

함수부분만 적었는데 의외로 간단하다.

 

이것으로 현재 수행되고 있는 서비스를 확인할 수있으며, 악성코드 또한 검출할 수있지 않을까 생각이 든다.

 
 

 


하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved