重写一个函数public boolean onKeyDown(int keyCode, KeyEvent event)
开机运行比较简单通过应用程序自行在系统中登记注册事件(即Intent)来响应系统产生的各类消息。例如Android实现系统开机自启动程需要在Manifest中加入如下Intent-filter及权限Uses-permission即可。
    <intent-filter>   
        <action android:name="android.intent.action.BOOT_COMPLETED"/>   
(修改时候主要是去掉上面该行即可) 
        <category android:name="android.intent.category.HOME" />   
    </intent-filter>   
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>    

解决方案 »

  1.   

    Android广播机制(两种注册方法)
    1)第一种不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。
    2)第二种是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。如果是常驻型必须让apk先运行一次,才能被注册到系统中!
      

  2.   

    输入事件从驱动读出后由WindowManagerService派发给焦点进程的焦点view上面, 具体我不知道如何能获取,但有想法供你参考。
    1.越过框架层,在你的service里直接通过jni去读内核Input子系统报上来的消息
    2.看看WindowManager有没有提供截取按键消息的binder接口出来
    3.不行就想想为何有这种需求,是不是想歪了开机运行需要在Manifect里加个Broadcastreceiver,收到Bootcomplete消息后start你的server
      

  3.   

    恩,非常感谢,考虑问题很全面,
    我用c写了个库,直接访问input设备的,已经可以了,多谢!
      

  4.   

    1、改变/dev/input/eventX的读写权限
    2、jni写一个so,用select或者epoll来监听input事件,可以用inotify实现
    3、app调用jni接口就可以了
      

  5.   

    求楼主给点具体实现的代码之类的,非常感谢,很有需要[email protected]
      

  6.   

    楼主能不能将实现的一些代码放出来,我刚好也要实现你这样的功能,因为我们是在定制的android机器上进行
    开发的,要求当程序在后台也能够监听特定的按键,但是要实现这样貌似就只能自己写一个so库,然后通过JNI去调用这个so库,问题是现在无从下手,能不能提供一个例子让我参考参考,不甚感激,[email protected]
      

  7.   

    求 一份源码 万分感激 [email protected]
      

  8.   

    同求 源码一份 万分感谢啊 [email protected]
      

  9.   

    getevent.c参考这个例子就可以了!
    getevent.c参考这个例子就可以了!
    楼主能不能将实现的一些代码放出来,我刚好也要实现你这样的功能,因为我们是在定制的android机器上进行
    开发的,要求当程序在后台也能够监听特定的按键,但是要实现这样貌似就只能自己写一个so库,然后通过JNI去调用这个so库,问题是现在无从下手,能不能提供一个例子让我参考参考,不甚感激,[email protected]楼主能不能将实现的一些代码放出来,我刚好也要实现你这样的功能,因为我们是在定制的android机器上进行
    开发的,要求当程序在后台也能够监听特定的按键,但是要实现这样貌似就只能自己写一个so库,然后通过JNI去调用这个so库,问题是现在无从下手,能不能提供一个例子让我参考参考,不甚感激,[email protected]
    getevent.c参考这个例子就可以了!
      

  10.   

    getevent.c参考这个例子就可以了!
    getevent.c参考这个例子就可以了!
    楼主能不能将实现的一些代码放出来,我刚好也要实现你这样的功能,因为我们是在定制的android机器上进行
    开发的,要求当程序在后台也能够监听特定的按键,但是要实现这样貌似就只能自己写一个so库,然后通过JNI去调用这个so库,问题是现在无从下手,能不能提供一个例子让我参考参考,不甚感激,[email protected]楼主能不能将实现的一些代码放出来,我刚好也要实现你这样的功能,因为我们是在定制的android机器上进行
    开发的,要求当程序在后台也能够监听特定的按键,但是要实现这样貌似就只能自己写一个so库,然后通过JNI去调用这个so库,问题是现在无从下手,能不能提供一个例子让我参考参考,不甚感激,[email protected]
    getevent.c参考这个例子就可以了!
    这个类我已经看了,但现在关键是我获取到按键事件后怎样将这个按键事件传递给相应的服务?仿照getEvent.c写,然后使用JNI去调用,getEvent是不停的循环read,获取到事件之后应该怎样返回给service?能不能留下邮箱,好方便交流,我的email:[email protected]
      

  11.   

    对了,能不能将你空间中的个人联系方式完善一下,以后遇到问题也能够更好的交流,我发现很多csdn的博客作者都
    没有联系方式,将邮箱或者QQ留下,真的能够很好的进行交流,要不然就只能等你上线回复才能够交流,这样太费时
    了。
      

  12.   

    能不能够写篇博客介绍一下,我仿照getevent.c的源码,写了一个.c文件,然后通过JNI去调用,但是还是监听不了,写篇博客介绍一下这个过程吧,或者放出一份demo也行,很期待大家一起交流
      

  13.   

    楼主 我现在也有这样的需求 同求源码啊 [email protected] 万分感谢!
      

  14.   

    各位牛人,有demo吗?  跪求!