3

私はこれが以前にここここでも尋ねられたことを知っています。彼らは適切に答えられていません(またはまったく答えられていません)。しかし、なぜmoveTaskToBack(true);常にfalseを返すのかわかりません。問題?前もって感謝します。

public void onBackPressed() {       
    boolean r=  moveTaskToBack(true);
    //r is false !! using API LEVEL 8
}

注:私が呼び出しているアクティビティは、Activityに含まれる子でありtabActivity、どちらもMAINまたはLAUNCHERアクティビティではありません。それが違いを生むかどうかはわかりません。

編集: その結果、アプリケーションはバックグラウンドに移行しません。ハードウェアの HOME が押されたかのようにバックグラウンドに移行したい

4

3 に答える 3

8

moveTaskToBack(true)なぜ戻ってくるのかわからないfalse。おそらくあなたのマニフェストに何か奇妙なことがありますか?いずれにせよ、代わりにこれを実行してホーム画面を表示できます。

Intent i = new Intent();
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
this.startActivity(i);

ただし、次のメッセージに注意してください。

「ホームキーの押下をシミュレートできません。」— ローマン ガイ、Android フレームワーク エンジニア

それが私の提案したコードとどのように一致するかはわかりません(Romanのステートメントと同じスレッドで見つけたもので、うまくいくようです)。

于 2013-01-23T07:49:00.437 に答える
1

書くだけ:

@Override
public void onBackPressed() {
    moveTaskToBack(true);
    //  super.onBackPressed();
}
于 2017-08-25T09:21:11.703 に答える