嗨,我遵循fitbit文档将fitbit集成到我的应用程序中。我的问题是,一旦我对应用程序进行了身份验证,就意味着它没有将我重定向到我的Andropid活动。我出示密码

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String url = "https://www.fitbit.com/oauth2/authorize?response_type=code&client_id="
                        + cliend id + "&redirect_uri=" + redirect_uri + "&scope=" + "activity";
                Intent oauthIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                startActivity(oauthIntent);
            }
        });


在我的清单上

<intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="MyExample4" />
            </intent-filter>


这将我带到重定向页面。任何人都可以遇到此问题,请帮帮我。

最佳答案

我对fitbit不熟悉,但是从您的代码中可以看到,我可以说您的意图过滤器不完整。您可能应该使意图过滤器与您嵌入到身份验证URL中的redirect_uri相匹配。

一旦实现了该功能,并且用户正确地进行了身份验证,浏览器将导航至redirect_uri,并使用正确的intent-filter您将能够在您的应用程序中将其打开。

代码可能如下:

将您的redirect_uri设置为my-fitbit-app://my.fitbit.app/handle_auth

在您的intent-filter

<intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="my-fitbit-app" />
                <data android:host="my.fitbit.app" />
                <data android:path="/handle_auth" />
            </intent-filter>

关于android - Android Fitbit整合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37699950/

10-10 08:53