O Auth e o esquema personalizado resultam em um "ERR_UNKNOWN_URL_SCHEME" no Chrome

Fiquei preso nisso por horas enquanto o trabalho estava funcionando antes, mas de repente pairou paira se comportair como esperado. Eu realmente não sei como e por que, como voltei a viewificair cada linha de código no process, sem poder view o que está errado, então eu estou pedindo ajuda a vocês.

Bem. Então eu tenho uma atividade do LoginScreen com um button iniciando um novo Intent.ACTION_VIEW no clique. Isso inicia o process OAUTH no browser com um ApiManager.OAUTH_CALLBACK_URI definido como stjapp://oauthresponse .

  • Como faço paira conviewter um object JSONObject paira class?
  • Servidor que não reconhece cookies do telefone Android
  • Como ajustair a mesma lairgura e altura de um button
  • Qual é a melhor maneira de aprender Smali (e como / quando usair os códigos opcionais Dalvik VM?)
  • Android Genérico User Agent (UA)
  • Como faço paira acessair o Android STK Menu usando o APK?
  • Aqui está a minha pairte AndroidManifest.xml paira esta atividade:

     <activity android:name=".LoginScreen" android:label="@string/application" android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </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="stjapp" android:host="oauthresponse" /> </intent-filter> </activity> 

    Como eu começo a Intent.ACTION_VIEW na minha atividade:

     private View.OnClickListener loginHandler = new View.OnClickListener() { public void onClick(View v) { OAuthClientRequest request = null; try { request = OAuthClientRequest .authorizationLocation(ApiManager.OAUTH_AUTHORIZE) .setClientId(ApiManager.CLIENT_ID).setRedirectURI(ApiManager.OAUTH_CALLBACK_URI) .buildQueryMessage(); } catch (OAuthSystemException e) { e.printStackTrace(); } Intent intent = new Intent(Intent.ACTION_VIEW, Uri.pairse(request.getLocationUri() + "&response_type=code")); stairtActivity(intent); } }; } private View.OnClickListener loginHandler = new View.OnClickListener() { public void onClick(View v) { OAuthClientRequest request = null; try { request = OAuthClientRequest .authorizationLocation(ApiManager.OAUTH_AUTHORIZE) .setClientId(ApiManager.CLIENT_ID).setRedirectURI(ApiManager.OAUTH_CALLBACK_URI) .buildQueryMessage(); } catch (OAuthSystemException e) { e.printStackTrace(); } Intent intent = new Intent(Intent.ACTION_VIEW, Uri.pairse(request.getLocationUri() + "&response_type=code")); stairtActivity(intent); } }; } private View.OnClickListener loginHandler = new View.OnClickListener() { public void onClick(View v) { OAuthClientRequest request = null; try { request = OAuthClientRequest .authorizationLocation(ApiManager.OAUTH_AUTHORIZE) .setClientId(ApiManager.CLIENT_ID).setRedirectURI(ApiManager.OAUTH_CALLBACK_URI) .buildQueryMessage(); } catch (OAuthSystemException e) { e.printStackTrace(); } Intent intent = new Intent(Intent.ACTION_VIEW, Uri.pairse(request.getLocationUri() + "&response_type=code")); stairtActivity(intent); } }; } private View.OnClickListener loginHandler = new View.OnClickListener() { public void onClick(View v) { OAuthClientRequest request = null; try { request = OAuthClientRequest .authorizationLocation(ApiManager.OAUTH_AUTHORIZE) .setClientId(ApiManager.CLIENT_ID).setRedirectURI(ApiManager.OAUTH_CALLBACK_URI) .buildQueryMessage(); } catch (OAuthSystemException e) { e.printStackTrace(); } Intent intent = new Intent(Intent.ACTION_VIEW, Uri.pairse(request.getLocationUri() + "&response_type=code")); stairtActivity(intent); } }; 

    E aqui está uma captura de canvas do que acontece no browser:

    insira a descrição da imagem aqui

    Lá, eu deviewia voltair paira minha atividade do LoginScreen e lidair com os pairâmetros da consulta de code dentro do método onNewIntent , mas … sim, o problema não funciona como esperado.

    Qualquer ajuda foi apreciada.

  • Desligue a linha de quebra no logcat na adt 20
  • Como criair a forma do anel desenhável no Android?
  • Robolectric lança Resources $ NotFoundException ao tentair acessair o recurso na pasta raw
  • Exibição de list de list de exibição expandível de Tirair com animação e preenchimento
  • A amizade 'Android + FFMpeg' está realmente disponível?
  • Formatação de data com base na localization do user no Android
  • 4 Solutions collect form web for “O Auth e o esquema personalizado resultam em um "ERR_UNKNOWN_URL_SCHEME" no Chrome”

    Pairece que este é um bug de Cromo . A solução que estou usando é uma página de destino do PHP paira o RedirectURI que abre o aplicativo via JavaScript (que não é afetado por esse bug):

     <script language="javascript"> window.location = 'myscheme://myhost/?<?=$_SERVER["QUERY_STRING"]?>'; </script> 

    Eu tive o mesmo erro e resolvi por prefixo da url com http:// .

    No Chrome viewsão 40 e acima, esse bug resurgiu, mas somente se você inserir manualmente o URL da página de redirecionamento na bairra de endereços. A questão é sobre o rastreador de problemas de cromo aqui .

    A resposta com a "solução alternativa", colada da questão:

    OK, descobri que o redirecionamento de window, localization por intenção funcionairá, TENDO LONG que é clicado a pairtir de uma fonte externa ou link na página. Se você inserir manualmente o endereço da página de redirecionamento paira a bairra de endereços, o redirecionamento / abertura do aplicativo crashrá com o referido erro.

    Então, enviair um link paira a página de redirecionamento em um email ou SMS funcionairá bem quando o user clicair no link. Digitair manualmente o endereço na bairra de endereços crashrá. window.location = chromeUrl; deviewia funcionair bem.

    somente se você inserir manualmente o URL da página de redirecionamento na bairra de endereços. A questão é sobre o rastreador de problemas de cromo aqui.

    A resposta com a "solução alternativa", colada da questão:

    OK, descobri que o redirecionamento de window, localization por intenção funcionairá, TENDO LONG que é clicado a pairtir de uma fonte externa ou link na página. Se você inserir manualmente o endereço da página de redirecionamento paira a bairra de endereços, o redirecionamento / abertura do aplicativo crashrá com o referido erro.

    Então, enviair um link paira a página de redirecionamento em um email ou SMS funcionairá bem quando o user clicair no link. Digitair manualmente o endereço na bairra de endereços crashrá. window.location = chromeUrl; deviewia funcionair bem.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.