所以我有两个活动,一个是主要的,然后是一个辅助活动,我们称之为activity_A(主要)和活动B(第二个)。 所以我的activity_A获取了一些数据,然后使用以下代码将其发送到activity_B:
Intent i = new Intent(this,activity_B.class);
i.putExtra("Charge_Batterie", bat);
startActivity(i);
activity_B使用以下代码正确接收:
String bat = getIntent().getStringExtra("Charge_Batterie");
我的问题是我的activity_A正在刷新它的值“bat”,所以当我意图发送它时它不会在activity_B中重新发布。 所以我想知道,我的活动是在睡觉吗?如果是的话我怎么能让它活着?
答案 0 :(得分:0)
我做同样的事情并且它可以工作很长时间 - 活动A运行一个计时器并启动活动B和额外的东西。 当我想用“new extras”刷新活动B时,我这样做:
// check if activity B is created and running:
if (intent == null) {
System.out.println("Creating Activity - Intent is null");
intent = new Intent(context, ActivityB.class);
intent.putExtras(ImagedownloaderActivityBundle);
startActivity(intent);
}else {
System.out.println("Reloading Activity - Intent exists");
finish();
intent = new Intent(context, ActivityB.class);
intent.removeExtra("playlistsList");
intent.putExtras(ImagedownloaderActivityBundle);
startActivity(intent);
}
据我所知,这不是实现后台任务的最佳方式 - 它应该在服务上运行,或者在需要刷新时也可以这样做。