Java 当调用活动被销毁时,新活动上的Android getIntent为NULL
你们有解决以下问题的方法吗 在注册活动的onDestroy中(当用户按下back按钮时),我调用一个新活动,以便用户可以输入当天的一些最终生产数据,然后通过电子邮件发送报告。问题是,在刚刚启动的活动中,对getIntent的调用返回null,我必须从那里获取数据Java 当调用活动被销毁时,新活动上的Android getIntent为NULL,java,android,android-lifecycle,Java,Android,Android Lifecycle,你们有解决以下问题的方法吗 在注册活动的onDestroy中(当用户按下back按钮时),我调用一个新活动,以便用户可以输入当天的一些最终生产数据,然后通过电子邮件发送报告。问题是,在刚刚启动的活动中,对getIntent的调用返回null,我必须从那里获取数据 public void onDestroy(){ //unregister listeners, cancel timers etc. logOff(); super.onDestroy(); } protected v
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();
}
public AKSProductionNumber(){
Intent Intent=getIntent();//尝试将此
Intent intent = getIntent(); // <-- returns null
Bundle extras = intent.getExtras();
Intent-Intent=getIntent();//试着把这个
Intent intent = getIntent(); // <-- returns null
Bundle extras = intent.getExtras();
Intent-Intent=getIntent();//事实上,我想我知道你的问题所在。我相信你正在打这个电话:
public AksProductionNumbers()
在您的活动构造函数中(如您在问题中所述),您应该在活动的onCreate
方法中创建它。getIntent
将在构造函数中返回null。实际上,我想我知道您的问题所在。我相信您正在进行此调用:
public AksProductionNumbers()
当你应该在活动的onCreate
方法中创建它时,在你的活动构造函数中(如你在问题中所述)。getIntent
将在构造函数中返回空值。我认为这是一个糟糕的UI。在Android应用程序中,没有什么比点击后退按钮而不进入上一个活动更让我讨厌的了(或主屏幕,如果没有以前的活动)。发布更多代码和日志,以便我们更好地理解问题。我认为您应该将此Intent Intent=getIntent();Bundle extras=Intent.getExtras();放在“onCreate()上”关于新活动,您应该阅读更多有关活动生命周期的信息,即何时注册和注销侦听器。@Eran,用户正在结束活动,在这一点上(确切地说),我们想知道一些数据(仅在这一点上可用)。当你关闭一个程序时,它就像一个弹出窗口,询问“你想把文件保存在哪里”。这是一个高度特定的商业应用程序,不是一个普通的play store应用程序。另一个选择是屏幕上的一个按钮来结束注册,但这会使后退按钮的动作不清楚和不明确。我认为这是一个糟糕的UI。我没有任何东西可以选择Android应用程序中的te比点击后退按钮而没有到达上一个活动(或主屏幕,如果没有上一个活动)。发布更多代码和日志,以便我们更好地理解问题。我认为您应该将此Intent Intent=getIntent();Bundle extras=Intent.getExtras();放在“onCreate()上”关于新活动,您应该阅读更多有关活动生命周期的信息,即何时注册和注销侦听器。@Eran,用户正在结束活动,在这一点上(确切地说),我们想知道一些数据(仅在这一点上可用)。当您关闭程序时,将其视为一个弹出窗口,询问“您想将文件保存到哪里”。这是一个高度特定的商业应用程序,而不是常规的play store应用程序。另一种选择是屏幕上的一个按钮,用于结束注册,但这将使后退按钮的操作不清楚且不明确。