gpt4 book ai didi

android - 如果 Activity 是 `singleTask` ,如何获得额外的 Intent ?

转载 作者:IT老高 更新时间:2023-10-28 21:49:58 25 4
gpt4 key购买 nike

我有一个 Activity ,它是一个单任务:

public class MyActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

System.out.printf("### MyAcitvity.onCreate: " + getIntent().getExtras());
}

@Override
protected void onResume() {
super.onResume();
System.out.println("### MyActivity.onResume: " + getIntent().getExtras());
}

public void toNext(View v) {
startActivity(new Intent(this, AaaActivity.class));
}
}

和:

<activity android:name=".MyActivity" android:launchMode="singleTask" />

不,它已经启动,它启动了另一个名为 AaaActivity 的 Activity 。

public class AaaActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.aaa);
}

public void jumpToFirst(View v) {
Intent intent = new Intent(this, MyActivity.class);
intent.putExtra("aaa","bbb");
startActivity(intent);
}

}

在后一个中,有一个按钮会触发jumpToFirst方法来启动第一个,并传递一个数据对aaa=bbb。由于 MyActivitysingleTask,它不会创建一个新的,而是返回到现有的 MyActivity 实例。

我的问题是:如何从 MyActivity 中的 AaaActivity 获取传递的额外数据?

您可以看到我已经记录了 onCreateonResume 方法,但它会打印空额外数据。

11-16 08:44:17.833: INFO/System.out(5171): ### MyAcitvity.onCreate: null
11-16 08:44:19.417: INFO/System.out(5171): ### MyActivity.onResume: null
11-16 08:44:26.041: INFO/System.out(5171): ### MyActivity.onResume: null
11-16 08:44:28.897: INFO/System.out(5171): ### MyActivity.onResume: null

最佳答案

尝试将 MyActivitylaunchMode 类型设置为 singleTop,然后重写以下方法以查找新 Intent :

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
//now getIntent() should always return the last received intent
}

关于android - 如果 Activity 是 `singleTask` ,如何获得额外的 Intent ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13413128/

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