2017-06-13 60 views
0

我打算在我的應用程序中使用不同的存儲類型。我從Dropbox開始。它有有效的方法,都到意圖,授權用戶,並返回到最後一個活動:如何識別它是否是Dropbox身份驗證?

String key = settings.getString ("dropbox_key", ""); 
Auth.startOAuth2Authentication (SettingsActivity.this, key); 

我可以使用活動onResume()方法及其數據一起工作,但我怎麼能identificate,我回到了它通過Dropbox身份驗證,而不是Google和其他Oauth應用程序,因爲我想在一項活動中使用它,但獲取不同的數據並將其寫入不同的設置值。我認爲這將是一種BROWSABLE類別類型的活動,它通過URL打開,Dropbox使用回調並將必要的參數傳遞給它,但我試圖通過getIntent().getData()獲取其數據,但它始終爲空。提前

 <activity 
     android:name="com.dropbox.core.android.AuthActivity" 
     android:configChanges="orientation|keyboard" 
     android:launchMode="singleTask" 
     android:theme="@android:style/Theme.Translucent.NoTitleBar" 
    > 
     <intent-filter> 

      <data android:scheme="db-xxxxxxxxxxx"/> 

      <action android:name="android.intent.action.VIEW"/> 

      <category android:name="android.intent.category.BROWSABLE"/> 
      <category android:name="android.intent.category.DEFAULT"/> 

     </intent-filter> 

    </activity> 

感謝:

Dropbox的活動與他們的默認代碼連接,所以我不能把我的自己的活動URI。

回答

1

如果您在Android應用中使用Dropbox API v2 Java SDK,則應該在您的onResumeas shown in the example app中處理應用授權流程的結束。

您可以使用返回值Auth.getOAuth2Token來檢查用戶是否從Dropbox應用授權流程回來。也就是說,如果返回值非空,則它是作爲Dropbox應用程序授權流程結果返回的訪問令牌。

如果它爲空,表示用戶因Dropbox應用程序授權流程而未返回應用程序。

+0

啊,我認爲這將是一種方法,如果它不是一個Dropbox身份驗證,將不會調用任何Dropbox方法,但它只會是一個解決方案,謝謝。 – Acuna

相關問題