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 ответ
Итак, я справился с этим, установив действие для каждого намерения, затем заполнив имя действия, чтобы решить, какой вариант следует запустить. Я думаю, что это самое простое решение