gpt4 book ai didi

android - Intent extra 即使在更新后也保持不变

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:52:32 26 4
gpt4 key购买 nike

我正在尝试使用带附加功能的 IntentActivity 实例之间传递一小段文本。

每当我使用后退按钮或操作栏中的导航在它们之间导航时,这似乎都能正常工作。但是,如果我访问主屏幕然后重新启动应用程序,传递的额外信息将被忽略;第二个 Activity 似乎使用旧的 Intent,而不是新的。

相关代码:

来源 Activity

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);
}
}

目的地 Activity

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 实例不会根据 extras 的内容进行比较)

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

(我不需要PendingIntent,但认为这可能会强制更新Intent)

每次我从 ActivityA -> ActivityB 进行转换时,如何强制 Intent 显示更改的数据的任何建议,无论我是在使用后退按钮还是转移到主屏幕?

最佳答案

我记得曾经遇到过这个问题,我们通过将 Intent.FLAG_ACTIVITY_CLEAR_TOP 添加到您发送的 Intent 中解决了这个问题:

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

或者通过在您打算启动的 Activity 中实现以下方法:

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

我不是 100% 确定是什么再次修复了它,相信它是添加了 onNewIntent 方法。祝你好运,让我们知道。

关于android - Intent extra 即使在更新后也保持不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19529965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com