Android - намерение для приложений Shorcuts

Когда я говорю "ярлыки приложений", я имею в виду следующее: https://developer.android.com/guide/topics/ui/shortcuts.html

Мое приложение имеет следующий поток:

  • Запустите SplashActiviy и выполните некоторые необходимые инициализации (например, проверьте, доступны ли сервисы Google Play и т. Д.).
  • Из SplashActivity запустите LoginActivity следующим образом:

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) requestWindowFeature(Window.FEATURE_CONTENT_TRANSITIONS);
     super.onCreate(savedInstanceState);
    
         if(checkPlayServices()==false)
         {
          return;
         }
    
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
         {
           getWindow().setExitTransition(new Fade());
         }
    
          Intent intent = new Intent(this, LoginActivity.class);
          ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(this);
          ActivityCompat.startActivity(this, intent, options.toBundle());
          ActivityCompat.finishAfterTransition(this);
         }
    }
    

Затем запускается мой LoginActivity. LoginActvity обрабатывает вход пользователя через Firebase - пользователь может выбрать вход с помощью Google, Facebook или электронной почты. После успешного входа в Firebase мое приложение вызывает rest webservice для получения токенов доступа с моего сервера, затем запускает MainActivity и передает ему токены доступа. Существует также FirebaseAuth.AuthStateListener используется для автоматического входа в систему при запуске приложения (до тех пор, пока пользователь не выйдет из системы), не запрашивая учетные данные. У MainActivity также есть некоторый поток, он выполняет некоторые операции, а затем позволяет выбрать, что отображать, из меню панели навигации. Пользователям необходимо выполнить некоторые действия, это зависит от того, запускается ли приложение в первый раз (принудительно выбрать город из списка, список городов, загруженный из серверной части).

Теперь мне нужно разработать статичные ярлыки приложений с намерениями для:

  • Список событий (это поведение по умолчанию, после того, как пользователи войдут в систему и выберут город, если не выбран ни один город - первый запуск или загрузка данных из города, использовавшегося ранее)
  • Список сообщений - пользователю необходимо выбрать соответствующий пункт меню для загрузки списка сообщений (это вызывает остальные вызовы веб-службы для загрузки сообщений)

Я застрял, потому что я понятия не имею, как реализовать намерение сохранить все необходимые шаги. Я не могу просто заявить о намерении запустить MainActivity, оно не будет работать, потому что это приведет к немедленному запуску MainActivity без какой-либо необходимой инициализации, получению токенов доступа и т. Д.

Какие-нибудь советы?

1 ответ

Итак, я справился с этим, установив действие для каждого намерения, затем заполнив имя действия, чтобы решить, какой вариант следует запустить. Я думаю, что это самое простое решение

Другие вопросы по тегам