9

with extrasActivityを使用して、インスタンス間で小さなテキストを渡そうとしています。Intent

アクションバーの戻るボタンまたはナビゲーションを使用してそれらの間を移動するときはいつでも、これはうまくいくようです。ただし、ホーム画面にアクセスしてからアプリケーションを再起動すると、渡されたエクストラは無視されます。2番目は、新しいものではなくActivity、古いものを使用しているようです。Intent

関連するコード:

ソース アクティビティ

public class ActivityA extends Activity {
    protected void goToResults(String results) {
        Intent intent = new Intent(this, ActivityB.class);
        intent.putExtra(Intent.EXTRA_TEXT, results);
        startActivity(intent);
    }
}

目的地の活動

public class ActivityB extends Activity {
    @Override
    public void onResume() {
        super.onResume();
        Bundle extras = getIntent().getExtras();
        String results = extras.getString(Intent.EXTRA_TEXT);
        // etc
    }
 }

次のようなさまざまなことを試しました。

intent.setAction("action-" + UNIQUE_ID);

Intent(インスタンスはエキストラの内容で比較されないことを理解しているため)

PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

(必要ありませんが、これにより が強制的に更新されるPendingIntent可能性があると考えました)Intent

戻るボタンを使用しているか、ホーム画面への転換を使用しているかに関係なく、->Intentから遷移するたびに変更されたデータを強制的に表示する方法についての提案はありますか?ActivityAActivityB

4

3 に答える 3

3

@Lauwが言うように:

protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    this.setIntent(intent);
}

this.setIntent(意図);

この行は私の問題を解決しました。

于 2015-07-26T14:23:46.730 に答える