0

初期アクティビティ(A)はアクティビティ(B)を起動します。ユーザーが(B)をオンにしてホームを押してからアプリに戻ると、(B)が再び表示されます。アプリを更新し(まだ公開されていないため、メールから更新しています)、更新画面から起動すると、(B)に戻ることを忘れてしまいます。アクティビティ(A)を再開するだけです。

戻るボタンを押してアプリを終了すると、そこからアプリは引き続き正常に機能します。

ここで説明されているようなものが表示されます:デバイスに最初にインストールしたときにアクティビティ履歴スタックが間違っていますか?。これは既知のAndroidバグですか?私はハニカムとICSを実行しています。

4

1 に答える 1

0

この質問への答えはここで説明されているのと同じ答えです:https ://stackoverflow.com/a/3890397/758074

私の知る限り、問題は、Androidインストーラーからアプリを起動すると、アクティビティ(A)のインスタンスが既存のタスクに起動されることです。上記の回答リンクで説明されているように、バグは説明されています

ここ:http ://code.google.com/p/android/issues/detail?id = 2373 およびここ:http ://code.google.com/p/android/issues/detail?id = 26658

アクティビティ(A)onCreate()のこのコードは、この問題を回避しました。

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    if (!isTaskRoot()) 
    {
        Log.d("SplashActivity", "Splash is not Task Root, finish()");
        finish();
        return;
    }
}
于 2012-05-18T22:33:41.037 に答える