「アプリのショートカット」と言うときは、https ://developer.android.com/guide/topics/ui/shortcuts.html を意味します。
私のアプリには次のフローがあります:
- SplashActiviy を開始し、必要な初期化を行います (Google Play Services が利用可能かどうかの確認など)。
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 が起動されます。LoginActivity は、Firebase を介してユーザー ログインを処理します。ユーザーは、Google、Facebook、またはメールでのログインを選択できます。Firebase へのログインに成功した後、アプリは REST Web サービスを呼び出してサーバーからアクセス トークンを取得し、MainActivity を開始してアクセス トークンを渡します。FirebaseAuth.AuthStateListener
資格情報を求めずに、アプリの起動時に (ユーザーがログアウトするまで) 自動ログインを処理するためにも 使用されます。MainActivity にもいくつかのフローがあり、いくつかの操作を実行してから、ナビゲーション ドロワー メニューから表示するものを選択できます。アプリを初めて起動するかどうかによって、ユーザーが行う必要のあるアクションがいくつかあります (強制的にリストから都市を選択する、都市リストをバックエンドからロードする)。
次に、次の目的で静的アプリのショートカットを開発する必要があります。
- イベント リスト (これは、ユーザーがサインインして都市を選択した後の既定の動作です。都市が選択されていない場合は、最初に実行するか、以前に使用した都市からデータを読み込みます)
- メッセージ リスト - メッセージ リストを読み込むには、対応するメニュー オプションを選択する必要があります (メッセージを読み込むための残りの Web サービス呼び出しが発生します)。
必要なすべての手順を保持する意図を実装する方法がわからないため、行き詰まっています。MainActivity を起動する意図を宣言することはできません。必要な初期化やアクセス トークンの取得などを行わずに MainActivity をすぐに起動するため、機能しません。
任意のヒント?