NativeActivity覆盖onKeyDown()

时间:2015-02-13 17:08:09

标签: java android native-activity

我遇到了我正在处理的NativeActivity子类的问题,我的目标是从Java代码中捕获和处理关键事件而不是  本机代码(这主要是因为这个原因),遗憾的是我无法看到Log()方法中存在的onKeyDown 正在打印onCreate()日志,并且我已经放置在本机代码中的日志打印也是如此。似乎永远不会调用onKeyDown子类的NativeActivity

有什么想法吗?

public class CNativeActivity extends NativeActivity{                                                                                                                                                                                                                                                                                                                                
        private final static String TAG = "CNativeActivity";                                                                                                                            

        protected void onCreate(Bundle savedInstanceState) {                                                                                                                                  
            Log.v(TAG, "onCreate");                                                                                                                                                          
            super.onCreate(savedInstanceState);                                                                                                                                              
        }                                                                                                                                                                                    

        @Override                                                                                                                                                                            
        public boolean onKeyDown(int keyCode, KeyEvent event) {                                                                                                                              
            Log.v(TAG, "onKeyDown");                                                                                                                                                          
            return true;                                                                                                                                                                      
        }
}   

1 个答案:

答案 0 :(得分:0)

添加实现KeyEvent.Callback

public class @activity@ extends NativeActivity implements KeyEvent.Callback  {
   public boolean onKeyMultiple (int keyCode, int count, KeyEvent event)
}

KeyEvent.Callback覆盖发生在本机AInputEvent调度之后;所以基本上你不得不忽略所有旧的dipatching并实现一些新的东西,如果你想获得÷,√,€,£等扩展密钥...