Привет, я хочу подключиться к сервисам google. Я - API-интерфейс клиента OAuth для подключения к нему. Th redirect uri Я использую is «http: // localhost»Как подключиться к службам google, не показывая браузер пользователю?
Но когда я выбираю «Разрешить доступ», то я хочу начать еще одно действие. Но как только я нажимаю «Разрешить доступ», то он открывает намерения Chooser со следующими параметрами: 1) Браузер 2) Название проекта
Он показывает это, потому что я начала свою деятельность с «View» Action и объявила целевую деятельность с категорией «BROWSABLE».
Но когда я удаляю категорию «BROWSABLE», она напрямую показывает браузер, и, следовательно, страница не загружается.
код я использую:
String authenticationUrl= "https://accounts.google.com/o/oauth2/auth?
scope=https://www.googleapis.com/"+
"auth/userinfo.email+https://www.googleapis.com/auth/userinfo."+
"profile";
OAuthClientRequest request = null;
try {
request = OAuthClientRequest
.authorizationLocation(authenticationUrl)
.setClientId(CLIENT_ID)
.setRedirectURI(REDIRECT_URI)
.buildQueryMessage();
} catch (OAuthSystemException e) {
e.printStackTrace();
}
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(request.getLocationUri() + "&response_type=code"));
startActivity(intent);
В манифесте я объявил целевую деятельность, как это:
<activity android:name=".TestActivity"
android:label="@string/app_name">
<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="http" android:host="localhost"/>
</intent-filter>
</activity>
Моя проблема заключается в том, что я не хочу, чтобы открыть намерения Chooser когда пользователь выбирает кнопку «Разрешить доступ» после аутентификации.
Пожалуйста, помогите.
Я могу использовать веб-просмотр, но когда я нажал кнопку «Разрешить доступ», он показывает, что экран, который говорит, что http: // localhost ..... не может быть загружен. Я хочу перенаправить пользователя на свою целевую активность, поэтому я использовал Intent. Теперь что мне делать? –
Я сказал вам использовать веб-просмотр, чтобы вы могли обрабатывать ошибки, переопределяя метод и видя, что происходит. Похоже, это не обращение с обратным вызовом. Возможно, это помогает: http://stackoverflow.com/questions/2378800/android-webview-click-opens-default-browser – jsaye
Единственное, что я сделал, это в том случае, если url получает ошибку. Я не использовал view.load (url). Спасибо за вашу помощь.. –