我想停止java.lang.security错误

时间:2013-08-02 14:03:22

标签: java android security

我正在做一个已实现服务的Android应用程序。 此服务启动了一些重要事件。在我的主要活动中,我实现了这个功能:

@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)

我的问题是“如何控制此错误?”

由于

2 个答案:

答案 0 :(得分:0)

写入您的清单文件权限

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

答案 1 :(得分:0)

我也一直在与此作斗争。

在我的特定情况下(可能是你的),问题是当我运行测试时,模拟器中的锁定屏幕已打开。

当您清除模拟器的数据或其他一些情况时,往往会发生这种情况。

是的,那很简单。

希望它有所帮助!