2011-11-30 4 views
2

내 응용 프로그램에 심각한 문제가 있습니다. 브로드 캐스트 리시버에서 허가 android.permission.ACCESS_COARSE_LOCATION을 사용하면 완벽하게 실행됩니다.권한 사용 후 SecurityException

그러나 일정 시간 (이 무작위 것 같다)는 다음 출력 응용 프로그램 충돌 후 :

에 SecurityException도 사용자 10,086도 현재 프로세스 권한 android.permission.ACCESS_COARSE_LOCATION을 가지고

<uses-permission etc />을 사용하여 매니페스트에 권한을 포함 시켰으며 내가 sendOrderedBroadcast 권한을 브로드 캐스트 할 때 브로드 캐스트를 수신 할 수 있도록 브로드 캐스트 리시버에게 권한을 부여한 경우 더 구체적으로 만들기위한 시도로 그렇습니다. 에 SecurityException이 코드의 두 번째 라인에서 발생되는 동안

는하지만 같은 난 후 말 :

TelephonyManager Tel = (TelephonyManager) vb.getPsrC() 
      .getSystemService(Activity.TELEPHONY_SERVICE); 
GsmCellLocation cellLocation = (GsmCellLocation) Tel.getCellLocation(); 

이 충돌은 프로 요를 실행하는 테스트 장치에서 발생하는 것 같습니다.

진저 브레드를 실행하는 기기에서 앱은 메모리를 적게 사용하여 서비스를 다시 시작하고 아무 것도하지 않습니다. 이러한 문제는 관련되거나 앱 충돌과 상호 배타적 인 보안 예외입니다.

답변

1

좋아, 그래서 범인은 메모리 누수가 밝혀졌습니다. GREF가 2001에 도달했을 때 앱이 충돌하여 기본적으로 앱을 비 웠습니다 (더 나은 문구가 없어서) 앱에 권한이 부여되지 않았다고 생각하게되었습니다. 나는 phonelistener를 서비스로 옮기는 것을 고쳤다.

+0

답변을 수락 한 것으로 표시하고 다른 사람들이 해결책이 있음을 알 수 있도록 –

+0

감사합니다. LOL을 잊어 버렸습니다. – SeanSWatkins

+0

"GREF는 2001 년에 추락했습니다"라는 말은, 비슷한 문제에 봉착했습니다. –

관련 문제