你们有解决以下问题的方法吗?
在注册活动的 onDestroy 中(当用户按下后退按钮时),我调用一个新活动,以便用户可以输入当天的一些最终生产数据,然后通过电子邮件发送报告。问题是,在刚刚启动的活动中,对 getIntent 的调用返回 null,我必须从那里获取数据。
public void onDestroy(){
//unregister listeners, cancel timers etc.
logOff();
super.onDestroy();
}
protected void logOff(){
// collect data etc.
// open new activity that asks for final production numbers
Intent intent = new Intent(getBaseContext(), AksProductionNumbers.class);
intent.putExtra("TimeSheetList", timeSheetList);
startActivity(intent);
}
=================================================== =============================
构造函数调用活动:
public AksProductionNumbers(){
Intent intent = getIntent(); // <-- returns null
Bundle extras = intent.getExtras();
}
函数 getIntent 返回 null。我认为这是因为调用活动已经死了,但我认为这很奇怪,因为我明确要求框架在关闭当前活动之前启动新活动。
有谁知道这个问题的解决方法?我选择了这个解决方案,这样我就不必覆盖“后退”按钮。
另一个解决方案是阻塞调用线程,直到它从启动应用程序获取解锁信号,但我认为这也很丑陋。第三个数据管理器类也可以解决数据源问题。
感谢您的想法和建议!
事实上,我想我知道你的问题是什么。我相信您正在拨打这个电话:
public AksProductionNumbers()
在你的活动中构造函数(正如您在问题中所述)您何时应该在活动中进行onCreate
方法。getIntent
将在构造函数中返回 null。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)