0

私のアプリケーションでは、次のように次のアクティビティに移動すると、最初のアクティビティが終了します。

if(className.equals("com.tritonhk.android.LoginActivity"))
            startActivityForResult(in, 1);
        //loadingrelative.setVisibility(View.GONE);
        displayVal = 0;
        Helper.IsFullSync = false;
        LoginActivity.this.finish();

そのため、他のアクティビティからバックグラウンドに移動してフォアグラウンドに戻った場合、バックグラウンドに移動したアクティビティを呼び出す必要があります。

場合によっては発生していますが、10 分以上バックグラウンドに留まると、最初のアクティビティのoncreateメソッドが呼び出されます。

dalvik がアプリケーション プロセスを強制終了しているようです。そのため、アプリケーション アイコンをクリックすると、その新しいインスタンスが作成され、そのインスタンスonCreateが呼び出されます。

これに対するより良いアプローチを教えてください。

EDIT 問題は部分的に解決されました。android:launchMode = "standard"正常に動作するようになりましたが、最初の試行では動作しません。つまり、アプリをインストールして実行し、バックグラウンドに移動してフォアグラウンドに戻ると機能しませんが、2回目からは正常に機能します。

4

2 に答える 2

2

サブアクティビティを起動する現在のアクティビティを終了しているので、タスクが再起動時にルート アクティビティを保持しないようにするため、残した場所から開始する必要があるため、タスクの状態を保持する android:alwaysRetainTaskState を使用できます。ルート アクティビティにのみ役立つため、FLAG_ACTIVITY_NEW_TASK インテント フィルター フラグを使用して新しいタスクでサブアクティビティを開始する必要があります。

于 2013-01-24T06:35:50.803 に答える
1

アプリの起動中に呼び出される はありますかandroid:launchMode="standard"? activityそうでない場合は、この行を追加してください。

于 2013-01-24T05:53:53.507 に答える