Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:创建一个;“首次用户”;活动_Android_Android Activity - Fatal编程技术网

Android 安卓:创建一个;“首次用户”;活动

Android 安卓:创建一个;“首次用户”;活动,android,android-activity,Android,Android Activity,我想为第一次运行我的应用程序的用户注册一个活动。我不希望用户能够通过此注册活动,如果他不想注册,他必须关闭应用程序 我可以通过在SharedReferences中存储来检查用户是否已注册,这似乎没有任何问题。到目前为止,我的主要活动是: public void onCreate(Bundle savedInstanceState) { if (needsRegistration()) { Intent intent = new Intent(this, Registrat

我想为第一次运行我的应用程序的用户注册一个活动。我不希望用户能够通过此注册活动,如果他不想注册,他必须关闭应用程序

我可以通过在
SharedReferences
中存储来检查用户是否已注册,这似乎没有任何问题。到目前为止,我的主要活动是:

public void onCreate(Bundle savedInstanceState) {
    if (needsRegistration()) {
        Intent intent = new Intent(this, RegistrationActivity.class);
        startActivity(intent);
    }

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ...
}
我对此有以下问题:

  • 我不确定应该从哪里开始注册活动(在
    super.onCreate(savedInstanceState)
    之前或之后)
  • MainActivity似乎一直在后台工作,并创建错误(因为用户未注册)
  • 用户可以通过按下后退按钮转到Main活动
正确的方法是什么

我不确定应该从哪里开始注册活动(在super.onCreate(savedInstanceState)之前还是之后)

在执行诸如
onCreate()
onResume()
等打开函数时,应该将您的
super()
调用作为第一个调用。。。。通过这种方式,函数可以执行
super()
调用所需的所有操作,以使函数准备就绪。这并不总是一个问题,但先打电话更安全。正在完成的功能,如
onBackPressed()
finish()
等。。。在进行清理(如保存数据)后,应调用
super()

MainActivity似乎一直在后台工作,并创建错误(因为用户未注册)

使
RegistrationActivity
启动程序
活动
并检查用户是否已注册,如果已注册,则启动
Main活动
,否则显示您的注册代码或在这种情况下执行的任何操作

用户可以通过按下后退按钮转到Main活动

请参阅前面的解决方案。如果
main活动
仅从
RegistrationActivity
启动,则这不会成为问题


检查
SharedReferences
以查看用户是否已注册不会造成太多延迟,因此您可以在为该
活动创建
布局之前执行此操作,如果用户已注册,则转到
Main活动。如果由于某种原因,您注意到延迟,那么您可以在检查注册与否的同时启动屏幕以显示您的徽标或其他内容,然后通过转到注册或主
活动

谢谢,交换活动并添加
安卓:noHistory=“true”来采取适当的措施
注册活动的清单解决了问题。但是,现在当我以注册用户的身份运行应用程序时,我可以在操作栏中看到标题“Register”(注册),这有点烦人。有什么办法可以解决这个问题吗?这就是实现闪屏的方便之处。除非您在寄存器
活动
中去掉
操作栏
,如果您不需要它。