Интеграция с Android FitBit

Привет, я следовал документации 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>

Это приводит меня к моей странице перенаправления. Может кто сталкивался с этой проблемой, значит, пожалуйста, помогите мне.

1 ответ

Решение

Я не знаком с fitbit, но из того, что я вижу в вашем коде, я могу сказать, что ваш фильтр намерений не завершен. Вы, вероятно, должны сделать так, чтобы фильтр намерений соответствовал redirect_uri что вы встраиваете в URL аутентификации.

Как только вы реализуете это, и пользователь правильно аутентифицируется, браузер перейдет к 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>
Другие вопросы по тегам