2016-09-22 7 views
2

反応ネイティブdocsでアンドロイドのバックボタンを操作するためのサンプルパターンに従っています。私は、ナビゲーションスタックをポップするためにハードウェアの戻るボタンを使用することができます。back-buttonを使用して反応ネイティブのアンドロイドアプリを手に入れよう

私は(ちょうど例のように)それをポップしませんが、スタック内の唯一の1のビューがありますその時点で

、と私は私のhardwareBackPressイベントリスナーからを返します。この時点で、componentWillUnmountメソッドが最終ビューで呼び出されているのが見えます。その時点で私のアプリケーションはシャットダウンします。

私がを返すと、実際にはが返されます。明らかに何も起こりません。

私がしたいことは、完全に終了するのではなく、単に「バックグラウンド」になってしまうことです。

+0

雅は、..私は、ログインページを持っている同じ問題に直面しています、今私は、ナビゲーターがログインするポップ戻ってクリックすると、パスワードのページを忘れてしまったために移動しました。再度ログインすると、私はそれを閉じているアプリケーションではないボタンをクリックしました。どうしてか分かりません。あなたが答えを知っているなら、これで私を助けてください。 – user2906641

+0

私は反対の問題に直面しています。私のアプリはバックグラウンドを取得し、私はバックボタンのプレスでそれをシャットダウンしたい。 https://stackoverflow.com/questions/45191413/react-native-application-does-not-shutdown-on-back-button – croraf

答えて

2

私自身の質問に回答しました。トリックMainActiviyでボタンの動作をデフォルトに戻って上書きすることです:

public class MainActivity extends ReactActivity { 

    @Override 
    protected String getMainComponentName() { 
     return "foo"; 
    } 

    @Override 
    public void invokeDefaultOnBackPressed() { 
     // do not call super. invokeDefaultOnBackPressed() as it will close the app. Instead lets just put it in the background. 
     moveTaskToBack(true); 
    } 
} 
+0

この変更後に(Java部分)再コンパイルする方法を知りたいときは私はここでヒントを得てうれしいです。あまりにもまれにそれをしなければならない。 –

+0

そして再び、 'react-native run-android'を使っていつも再コンパイルしましたが、' moveTaskToBack'はそれをしないと思われます... #investigating –

+0

Wolfram Kriesing - あなたのAndroidのバージョンに問題があるかもしれません。コーディングする?それはどんなバージョンですか? – pomo

関連する問題