7

特定の理由でアクティビティが一時停止したときに、アクティビティを終了したいと考えています。最近まで私のコードは完全に機能していましたが、最近、finish()何らかの理由でメソッドが機能しなくなりました。また、finish()メソッドが呼び出されると、次のLogCatメッセージが表示されます。

12-31 18:01:23.445: W/ActivityManager(481): Duplicate finish request for ActivityRecord{42465370 u11 "myapplicationpackage"}

誰かがこれで私を助けてくれますか?

OnPause()方法

@Override
protected void onPause() {
    super.onPause();
    finish();
}
4

2 に答える 2

12

を呼び出すことで、アクティビティが既に終了しているかどうかを確認できます。終了していない場合にのみif (isFinishing()){}呼び出します。または、マニフェスト ファイルでアクティビティを指定することもできます。これにより、ユーザーがアクティビティから離れると実際にアクティビティが終了します。finishandroid:noHistory="true"

于 2013-01-01T02:56:14.537 に答える
-7

ほとんどの場合、実行中のアクティビティのコピーが重複しています。すべてのアクティビティを1人の親の下で行い、使用することをお勧めします

finishall()
于 2013-01-01T02:37:32.207 に答える