2010-08-02 2 views
1

Android: я использую проверку подлинности твиттер, запустив WebViewандроида отделка вызова на намерении

Intent authIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)); 
startActivity(authIntent); 

После успешной аутентификации onNewintent получить вызов и управление возвращается к моей деятельности.

Проблема в веб-просмотре по-прежнему остается открытой после того, как управление вернется к моей деятельности, и если пользователь нажмет кнопку возврата, пользователь снова сможет получить доступ к этой странице, как я могу закончить активность веб-просмотра после того, как управление вернется к моему actiivyt.

Я хотел бы назвать финиш на «authIntent», как я могу?

ответ

0

Я предпочел запустить веб-просмотр в пользовательский диалог и таким образом получить полный контроль над ним. Это включает использование WebView с настраиваемым WebViewClient, где обратный вызов с авторизации обрабатывается в переопределенном методе toOverrideUrlLoading.

Для получения более подробного примера вы можете проверить FacebookSDK и то, как он обрабатывает страницу авторизации в диалоговом окне: здесь слишком много кода.

+0

любое другое быстрое исправление, чтобы закрыть намерение запуска под флагом представления? –

+0

Я не знаю (не обязательно означает, что не существует) способа вызова операции для завершения. Вы можете установить режим запуска вызывающей активности в singleTask в манифесте, таким образом, он не будет дублироваться, когда браузер снова запустит его. Я использовал это успешно с телефонными звонками, но я не могу вспомнить, работал ли он так, как я хотел с браузером и твиттером. – DonSteep

+0

Вы можете оставлять код для этого решения? – CQM

Смежные вопросы