我打算在我的应用中使用不同的存储类型。我是从Dropbox开始的。它有一个有用的方法,用于意图,授权用户,并返回到上一个活动:
String key = settings.getString ("dropbox_key", "");
Auth.startOAuth2Authentication (SettingsActivity.this, key);
我可以使用活动中的onResume ()
方法处理其数据,但我如何识别Dropbox auth,而不是Google和其他Oauth应用程序返回给它的数据,因为我想在一个中使用它活动,但获取不同的数据并将其写入不同的设置值。我认为这将是一种BROWSABLE类别类型活动,它由URL打开,Dropbox使用它作为回调并传递必要的参数,但我试图通过getIntent().getData()
获取其数据,但它总是为空
Dropbox活动与其默认代码相关联,因此我无法通过自己的活动uri:
<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>
提前致谢。
答案 0 :(得分:1)
如果您在Android应用中使用Dropbox API v2 Java SDK,则应该在onResume
as shown in the example app中处理应用授权流程的结束。
您可以使用Auth.getOAuth2Token
的返回值来检查用户是否从Dropbox应用授权流程返回。也就是说,如果返回值为非null,则它是作为Dropbox应用程序授权流程返回的访问令牌。
如果为null,则表示由于Dropbox应用程序授权流程,用户未返回应用程序。