0

私は、アクティビティクラスを拡張するクラスnativemainactivtyを持つsalesforce android sdkと統合しています。

salesforce をアプリに統合するには、nativemainactivity を拡張するクラスが必要です。電話を押し返すと、ユーザーがアプリケーションから抜け出すように実装しました。しかし、前の画面に移動したい。ナビゲートするには、以下のコードで onBackpressed をオーバーライドしますが、成功していません。体が知っているなら、これを達成するために私を導いてもらえますか?

@override
public void onBackPressed(){
  super.onBackPressed() 
  sop("back pressed!!");
}
4

4 に答える 4

0

コードにセミコロンがありません:

  super.onBackPressed();
于 2013-06-12T15:37:46.350 に答える
0

あなたの問題はセミコロンではありません。

super.onBackPressed() を呼び出すと、戻るボタンのデフォルトの動作 (つまり、アプリを終了する) のメソッドが呼び出されますが、これはあなたが望むものではありません!!

Android には、適切に機能するためにスーパークラス メソッドを呼び出す必要があるコールバックが多数ありますが、これはその 1 つではありません。

コードから「super.onBackPressed()」を削除し、メソッド本体に戻るキーに必要な新しい機能のみを入力すると、機能します。

@override
public void onBackPressed(){
  sop("back pressed!!");
  //or whatever else you want it to do
}
于 2013-06-12T17:23:00.010 に答える
0

私は物事を働かせました。

唯一のことは

moveTaskToBack(true); を削除します。

salesforce SDK の LoginActivity で。

于 2013-06-13T02:32:24.383 に答える
0

salesforce SDK については何も知りませんが、参考になれば幸いです。ネイティブのメイン アクティビティで、onKeyDown() メソッドをオーバーライドしている可能性があります。このメソッドは onBackPressed() を呼び出します。戻るボタンのキーコードをキャッチし、Activity クラスのスーパー メソッドを呼び出さない場合があります。

次のメソッドをオーバーライドしてみてください。

 @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_BACK) {
        // do something
    }

    return super.onKeyDown(keyCode, event);
}
于 2013-06-12T15:12:23.943 に答える