是否有某种方式来改变主要或我们可以说在某些条件的基础上创造活动?

时间:2014-05-18 03:13:30

标签: android

我想在条件的基础上启动oncreate活动,就像我要做的那样是验证移动设备的IMEI号码是否匹配应用程序必须打开登录屏幕否则注册屏幕。 我希望注册像whatsapp这样的东西就像我们看到注册屏幕一次。 我在IMEI的基础上做的是好方法???如果不是请建议我一些事情。 我能为活动的变化做些什么。

这是一些代码

protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TelephonyManager mngr =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    if(mngr.getDeviceId().equals(mngr.getDeviceId())){
        setContentView(R.layout.activity_registeration);        
    }else
       setContentView(R.layout.activity_main); 
}

我知道这是不合逻辑的,但我怎么能这样做。

2 个答案:

答案 0 :(得分:0)

在任何情况下,您都不应该使用Activities的生命周期方法;框架有责任在正确的时间调用它们时调用它们。

您可以通过多种方式完成注册屏幕功能。我们想到的是使用FragmentsActivity来管理它们。如果用户已登录,则显示假设的LoggedInFragment。否则,您将显示SignUpFragment

答案 1 :(得分:0)

您可以使用此"替代setContentView()"方法,但是你需要在同一个类中拥有两个任务的逻辑,这是一种kludgy。

可能的替代方案:

  • 使用片段(每个任务一个)并根据条件在onCreate()中添加一个片段。
  • 为另一项任务调用另一项活动(通过startActivity()中的onCreate())。