8

私のアプリは完全にC/C ++で記述されNativeActivityており、Javaコードはありません(「native-activity」NDKの例に基づく)。「戻る」ボタンを押すとボタンが閉じます(アクティビティが破棄されます)が、OpenGLを介して表示される独自のUIとメニューがあるため、このボタンの他​​の動作が必要です。

読んでいるように、「戻る」ボタンの動作を変更するにonBackPressed()は、Javaアクティビティクラスのメソッドをオーバーライドする必要があります。しかし、私はJavaを使用していません。C/ C ++からこのメソッドにアクセスしてオーバーライドできますか?

いいえの場合、 Javaコードを使用せずに、NDKを使用して「戻る」ボタンで処理する別の方法はありますか?

4

1 に答える 1

17

解決済み:デフォルトの「戻る」ボタンの動作を防ぐには、キーイベントの処理中に1を返すだけで十分です。

int32_t app_handle_event(struct android_app* app, AInputEvent* event) {
    if (AKeyEvent_getKeyCode(event) == AKEYCODE_BACK) {
        // actions on back key
        return 1; // <-- prevent default handler
    };
    // ...
    return 0;
}
于 2012-08-27T02:13:04.453 に答える