Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Email ou Senha Incorretos em Android

Esperei até o final dessa aula porque achei que poderia ser algum erro em meu código.

Bom, meu problema é que quando faço login utilizando o celular, recebo o erro de quando digitamos email/senha errada. Isso sendo que estive digitando o email corretamente.

Investiguei um pouco mais, e coloquei a mensagem de erro para retornar o texto que recebo e tive um retorno de "Not Found."

Engraçado, porque já usei a requisição get em outro servidor(colocando com php header allow origins) e recebo perfeitamente a informação.

Alguém sabe dizer o porquê?

9 respostas

Oi Allan.

Realmente estranho pois o serviço de login funcionou no celular durante as aulas, eu até fiz o login pelo celular na aula que utilizo a câmera.

Quando vc tenta fazer o login usando o ionic serve funciona normalmente?

Sim, está funcionando normalmente pelo ionic serve.

Cogitei a ideia de estar realmente digitando a senha errada, defini no controller o valor do input e mesmo assim nada pelo celular.

Pensei na possibilidade de ter sido algum problema com o Android 6, mas acabei de testar com o celular do meu irmão(versão 5) e também tive o mesmo erro.

Allan,

O que eu acha então:

1) A chamada para o serviço de login está com algum problema. Post aqui para a gente dar uma olhada

2) o access-origin não está configurado no seu arquivo config.xml. Da uma olhada nisso

Estou com o mesmo problema do Allan, no browser funciona, no celular não funciona o login.

Eu também 'amarrei' o login e senha pra eu não ter de digitar e haver o risco de estar digitando errado.

Seguem meus arquivos:

CONFIG.XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.ionicframework.leo666829" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
  <name>leo</name>
  <description>
        An Ionic Framework and Cordova project.
    </description>
  <author email="you@example.com" href="http://example.com/">
      Your Name Here
    </author>
  <content src="index.html"/>
  <access origin="*"></access>
  <preference name="webviewbounce" value="false"/>
  <preference name="UIWebViewBounce" value="false"/>
  <preference name="DisallowOverscroll" value="true"/>
  <preference name="SplashScreenDelay" value="2000"/>
  <preference name="FadeSplashScreenDuration" value="2000"/>
  <preference name="android-minSdkVersion" value="16"/>
  <preference name="BackupWebStorage" value="none"/>
  <preference name="SplashScreen" value="screen"/>
  <feature name="StatusBar">
    <param name="ios-package" value="CDVStatusBar" onload="true"/>
  </feature>
  <platform name="android">
    <icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
    <icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
    <icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
    <icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
    <icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
    <icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
    <splash src="resources/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi"/>
    <splash src="resources/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi"/>
    <splash src="resources/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi"/>
    <splash src="resources/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi"/>
    <splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/>
    <splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/>
    <splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
    <splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
    <splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/>
    <splash src="resources/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi"/>
    <splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/>
    <splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
  </platform>
</widget>

Tenta ver se aparece um erro quando roda pelo celular.

Para isso, deixe o celular plugado na usb, vá até o Chrome e digite esse endereço na barra de endereço:

chrome://inspect/

Ele deve achar seu celular. Daí quando achar o celular abra a parte do console do Chrome e faça o login e veja se apareceu algum erro

Olá Lázaro! Vlw pelo retorno.

Testei o endereço no chrome do celular: http://aluracar.herokuapp.com/login?email=joao@alura.com.br&senha=alura123

Retornou:
{"usuario":{"id":1,"nome":"João da Silva","dataNascimento":"30/01/1990","telefone":"1199887788","email":"joao@alura.com.br"}}

Fiz o inspect do aplicativo (Legal a dica :) ): No console apareceu isso aqui:

Failed to load resource: the server responded with a status of 404 (Not Found)
file:///android_asset/www/cordova_plugins.js Failed to load resource: net::ERR_FILE_NOT_FOUND
app.js:10 Uncaught TypeError: Cannot read property 'Keyboard' of undefined
    at app.js:10
    at Array.<anonymous> (ionic.bundle.js:56238)
    at Channel.onPlatformReady (ionic.bundle.js:2496)
    at Channel.fire (cordova.js:846)
    at cordova.js:231
6http://aluracar.herokuapp.com/login?email=joao@alura.com.br&senha=alura123 Failed to load resource: the server responded with a status of 404 (Not Found)
solução!

Ok, encontrei a solução pro meu caso. Acredito que tenha sido falta de atenção minha mesmo a alguma aula onde eu deveria refazer a instalação do plugin.

Enfim procurei e achei ao menos minha solução dando reset:

1 - Eu novamente abri o zip da aula e extraí;

2 - Pelo cmd do NodeJS eu acessei a pasta e mandei ionic state reset

3 - Depois de esperar um tempo instalei a apk novamente no celular e funcionou perfeitamente.

Desculpe a ignorância, mas existe algum comando que eu deva rodar para a instalação dos plugins no package.json? Embora o outro tenha funcionado muito bem, estive me perguntando se era o correto mesmo.

Obrigado mesmo assim pela paciência Lázaro e espero que minha solução também tenha te ajude Jonathan.

Obrigado Allan, resolveu também aqui pra mim. Vlw aí por postar a solução :)

Obrigado Lázaro.

Que bom que deu certo.

Para instalar as dependencias do package.json é usado o comando npm install.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software