2013-08-02 2 views
2

서비스를 구현 한 Android 애플리케이션을 만들고 있습니다. 이 서비스는 일부 핵심 이벤트를 시작합니다. 키가 돌아 때 정지하지는 보안 오류가 발생하는 경우 때문에java.lang.security 오류를 중지하고 싶습니다.

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent evento) { 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 

       stopService(new Intent(this, OpenCVService.class)); 
       finish(); 

      } 
      return true; 
     } 
     return super.onKeyDown(keyCode, evento); 
    } 

이 서비스를 중지하는 내 주요 활동에서 나는이 기능을 구현했습니다.

문제는 일부 장치에 가끔 오류가 계속 나타나면이 있다는 것이다 : "내가이 오류를 제어 할 수있는 방법"

08-02 15:53:47.486: W/dalvikvm(14873): threadid=16: thread exiting with uncaught exception (group=0x40cad930) 
08-02 15:53:47.486: E/AndroidRuntime(14873): FATAL EXCEPTION: Thread-373 
08-02 15:53:47.486: E/AndroidRuntime(14873): java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission 
08-02 15:53:47.486: E/AndroidRuntime(14873): at android.os.Parcel.readException(Parcel.java:1425) 
08-02 15:53:47.486: E/AndroidRuntime(14873): at android.os.Parcel.readException(Parcel.java:1379) 
08-02 15:53:47.486: E/AndroidRuntime(14873): at android.hardware.input.IInputManager$Stub$Proxy.injectInputEvent(IInputManager.java:356) 
08-02 15:53:47.486: E/AndroidRuntime(14873): at android.hardware.input.InputManager.injectInputEvent(InputManager.java:619) 
08-02 15:53:47.486: E/AndroidRuntime(14873): at android.app.Instrumentation.sendKeySync(Instrumentation.java:887) 
08-02 15:53:47.486: E/AndroidRuntime(14873): at android.app.Instrumentation.sendKeyDownUpSync(Instrumentation.java:898) 
08-02 15:53:47.486: E/AndroidRuntime(14873): at com.uvigo.gti.PictoDroidLite.Control3$1.run(Control3.java:268) 

내 질문은 매니페스트 파일 권한에

+0

가능한 중복 [Android INJECT \ _EVENTS 권한] (http://stackoverflow.com/questions/5383401/android-inject-events-permission) –

답변

0

쓰기

덕분에

<uses-permission android:name="android.permission.INJECT_EVENTS"></uses-permission> 
+1

나는 벤더/루트 권한이 있다고 생각합니다 ... – Shark

+0

시도하지만 "시스템 응용 프로그램에 대해서만 사용 권한이 부여되었습니다"라는 오류가 발생합니다 –

+0

루팅 된 장치에 대해서만 –

0

나는이 싸우고 있었어요.

필자의 경우 (아마도 당신도 마찬가지 임) 테스트를 실행할 때 에뮬레이터의 화면이 잠겨있어서 문제가있는 것 같습니다 ().

에뮬레이터 또는 일부 다른 상황에서 데이터를 지울 때 발생합니다.

예, 간단합니다.

희망이 있습니다.

관련 문제