在开始活动之前检查条件

时间:2015-12-02 14:27:56

标签: android

我想在主要活动开始之前检查一些条件,并根据测试结果我必须开始新活动或继续相同的活动。怎么做?

4 个答案:

答案 0 :(得分:2)

您可以在OnCreate()方法中查看它。它会在您的活动开始时调用。

onCreate(...){
....
if(want this){
//continue;
}else{
// start new activity
}

}

答案 1 :(得分:0)

默认情况下,要在清单中设置要启动的活动,因此更好地解决问题的方法是使用片段。请记住,片段更快/更轻,因此不要使用应用程序作为"决定"开始活动的课程(不好的练习),使用你的主要活动。在onCreate()方法中,检查您的状况并附加所需的片段。

答案 2 :(得分:0)

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  if(startNewActivity) {
    // TODO Fire off intent to start new activity
    finish(); // Closes the current activity
    return; 
  }
  // TODO Code for current activity.
}

startNewActivity是一个布尔值,表示是否启动新活动。应根据您的情况为其分配值。

答案 3 :(得分:0)

我正在使用java annotation来处理这种情况:

  1. 创建Annoation class
  2. 使用startActivity方法创建CustomContext.java
  3. 创建Interceptor.java
  4. 创建一个实现Interceptor like this的类(此处名为DemoInterceptor.java)
  5. 在您的活动中声明DemoInterceptor的静态变量。并且演示活动应该像this那样,通过步骤#2中的自定义startActivity启动活动
  6. 如果您有任何进一步的问题,请与我们联系。