戻るキーをユーザーが押下すると問答無用でアクティビティが閉じてしまいます。
なので、「修正しないでね」ってコメントで書いてあるjavaコードを修正して実現します。
この辺は開発中でいつ解消されるかわからないですしキー入力を完全に殺してしまうので、さらっと修正前と後のコード載せておきます。
(Androidアプリの開発経験のある人なら聞くまでもないですね。)
修正対象のファイル : QtActivity.java
修正前
@Override
public boolean dispatchKeyEvent(KeyEvent event)
{
if (QtApplication.m_delegateObject != null && QtApplication.dispatchKeyEvent != null)
return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.dispatchKeyEvent, event);
else
return super.dispatchKeyEvent(event);
}
修正後
public boolean dispatchKeyEvent(KeyEvent event)
{
if (QtApplication.m_delegateObject != null && QtApplication.dispatchKeyEvent != null){
boolean process = false;
if(event.getKeyCode() == KeyEvent.KEYCODE_BACK){
// back key
if(event.getAction() == KeyEvent.ACTION_DOWN){
Log.d("Qt", "back key down");
}else{
Log.d("Qt", "back key up");
}
}else{
// other keys
process = (Boolean) QtApplication.invokeDelegateMethod(QtApplication.dispatchKeyEvent, event);;
}
return process;
}else{
return super.dispatchKeyEvent(event);
}
}
コメント