如何在应用程序类中调用活动并等待其完成

时间:2018-09-27 12:34:01

标签: android android-activity

我想在主要活动出现之前注入一个活动。我在应用程序类的OnCreate方法中添加了以下代码

  [Application]
    public class XYZ: Application
   {
     protected override void OnCreate(Bundle bundle)
     {
             base.OnCreate(bundle);
           Intent intent = new Intent(this, typeof(SplashActivity));
           intent.AddFlags(ActivityFlags.NewTask);
            StartActivity(intent);
           // rest code.. but I dont want it is excuded until my splashactivity 
          closed
      }
   }

我在应用程序类中找不到startActivityForResult方法,因此在StartActivity之后,仍然执行我不想要的代码。 如何使其停止在那里并等到启动屏幕关闭。

我不擅长将Splasscreen作为主发射器。我只是想以其他理由注入它,对我来说别无选择。

注意:它适用于xamarin,但Java代码也可以。

1 个答案:

答案 0 :(得分:0)

我们可以通过界面来做到这一点:

  // our app class
  public class MyApplication extends Application implements IComplete {

    @Override
    public void onCreate() {
        super.onCreate();
        Intent intent = new Intent(this, Main2Activity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);

        // rest code.. but I dont want it is excuded until my splashactivity

    }

    @Override
    public void notify(boolean result) {
         // do the rest code part here ...
    }
}

// the interface
public interface IComplete {
    void notify(boolean result);
}

// and the interface calling code snipped in the SplashActivity
@Override
public void onBackPressed() {
    super.onBackPressed();

    ((MyApplication)getApplication()).notify(true);
}

希望可以帮助您

祝你好运