2017-08-02 33 views
1

如果說 「程序快捷方式」,我的意思是這樣的:https://developer.android.com/guide/topics/ui/shortcuts.htmlAndroid的 - 意向爲App Shorcuts

我的應用程序有以下流程:

  • 開始SplashActiviy,並做一些必需的初始化(如檢查,如果谷歌播放服務可用等)。
  • 從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後,我的應用程序會調用其他Web服務來從我的服務器獲取令牌,然後啓動MainActivity並將訪問令牌傳遞給它。還有FirebaseAuth.AuthStateListener用於處理應用程序啓動時的自動登錄(直到用戶註銷),而不需要任何憑據。 MainActivity也有一些流程,它執行一些操作,然後允許從導航抽屜菜單中選擇要顯示的內容。用戶需要執行一些操作,這取決於是否第一次啓動應用程序(強制從列表中選擇城市,從後端加載城市列表)。

現在我需要開發靜態應用shourtcuts與意圖爲:

  • 事件列表(這是默認行爲,之後用戶登錄並選擇城市,如果沒有選擇城市 - 第一次運行,或加載數據從以前使用的市)
  • 郵件列表 - 用戶需要選擇相應的菜單選項加載消息列表(它會導致其他Web服務調用加載消息)

我堅持,因爲我不知道如何實施意圖保存所有的要求ed步驟。我不能只是宣佈意圖發動MainActivity,它不會工作,因爲這將導致立即啓動MainActivity,沒有任何所需的初始化,獲得訪問令牌等

任何提示嗎?

回答

0

好的,所以我通過爲每個意圖設置動作來管理它,然後填充動作名稱以決定應該啓動哪個選項。我認爲這是最簡單的解決方案