Как вызвать действие в классе приложения и дождаться его окончания - PullRequest
0 голосов
/ 27 сентября 2018

Я хотел бы ввести действие до того, как появится основная активность.Я добавил следующий код в метод 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 голосов
/ 27 сентября 2018

Мы можем сделать это, например, через интерфейс:

  // 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);
}

надежда помогает вам,

Удачи)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...