안드로이드 개발 질문/답변
(글 수 45,052)
버츄얼 디바이스에서는 잘 되고 로그값도 잘 나오는데;;
왜 제가 가지고 있는 갤럭시에치디2 에서 돌리니까 아무것도 안되네요 ㅠㅠ
어플이 시작되면 버츄얼 디바이스 혹은 제 기계에 깔려 있는 어플의 패키지 명을 모두 받아오고,
다른 어플리케이션이 시작될떼, 미리 받아놓은 패키지명과 비교해서, 어플이 시작하기 직전에
제 어플리케이션을 실행시켜서, 다른 어플리케이션이 실행되는걸 방지하는건데....
버츄얼 디바이스에서는 버전 상관없이 잘 되던놈이... 제 기기에 설치하니까 아무 반응이 없네요 ㅡ,.ㅡ;;;
실제 기기에선 받아오는 패키지명이 좀 다른건가요??
뭐가 문제인지 잘 모르겠어요...
로그켓으로 제 기기에 설치한 어플이 돌아가는걸 확인해봤는데,
서비스는 잘 돌아가는데, 기기에서 받은 패키지명과 실행되는 패키지명을 비교하는 IF문이 잘 돌아가지 않더군요....
while문은 잘 되던데.... 뭐가 문제일까요?
2012.11.14 19:36:39
process = Runtime.getRuntime().exec(
"/system/bin/logcat -b main -s ActivityManager:I");
이걸로 로그켓에 있는걸 읽어와서 비교하는거... 라고 이해를 하고 있는데... 맞죠??
한가지 의아한게... 다른 어플을 실행할떼,
reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
라는걸 써서 line = reader.readLine(); String 변수인 line에 저렇게 저장을 했는데...
버츄얼에서 돌릴떼, 다른 어플을 실행을 하면, 로그켓에 I/ActivityManager( 77) : START 이렇게 쭈욱 내려가다가 제기 실행한 어플의 패키지 이름이 딱 나오던데, 제 기기에 연결을 해서 사용하게 되면, I/ActivityManager( 636) :Displayed shortComponentName 라고만 뜨더군요... 결국 이 차이 떼문에, if문에서 실행이 되는 어플의 패키지명과 등록된 패키지명을 비교를 못해서 아무 반응이 없는거 같아요....
이런 경우에는 어떻게 해결을 하면 좋을까요??