>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Erro ao executar o app de Vendas no Curso de Android Online


Boa tarde. Estou fazendo o Curso de Android Online e me deparei com um problema que não sei como resolver.
Estou usando o Android Studio versão 2.3.3 e estou na segunda aula do curso.
Ao rodar a aplicação de vendas ela funciona bem no meu celular Lenovo Vibe K5.
Consigo ir para página de nova venda, escolher o produto e colocar o nove mas ao clicar em Salvar o aplicativo encerra.
Fui colocando vários Toasts até descobrir em qual linha a aplicação dá problema e notei que é quando tento pegar a latitude e a longitude do local de vendas.
coloquei as permissões de uso no manifest, fiz testes de grants na Activity NovaVenda para ver se estava com permissão para acessar a localização e tudo bem.
consegui ver o provider que ele estava usando (no caso GPS) mas quando tento pegar as localizações o aplicativo encerra.
Seguem os arquivos de maifest e NovaVendaActivity.java.

O pedaço de código onde dá pau é


public void Salvar_Click(View view) {


LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = locationManager.getBestProvider(criteria, false);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
Toast.makeText(getBaseContext(), "Sem permissão para FINE_LOCATION", Toast.LENGTH_LONG).show();
return;
} else {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED) {
Toast.makeText(getBaseContext(), "Sem permissão para INTERNET", Toast.LENGTH_LONG).show();
return;
} else {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
Toast.makeText(getBaseContext(), "Sem permissão para COARSE_LOCATION", Toast.LENGTH_LONG).show();
return;
} else {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS) != PackageManager.PERMISSION_GRANTED) {
Toast.makeText(getBaseContext(), "Sem permissão para EXTRA_COMANDS", Toast.LENGTH_LONG).show();
return;
} else {
Toast.makeText(getBaseContext(), "Com permissão", Toast.LENGTH_LONG).show();
}
}

}
}

Location location = locationManager.getLastKnownLocation(provider);
String provedor = location.getProvider(); // Dá pau nesta linha
/*la = location.getLatitude(); // Dá pau nesta linha
lo = location.getLongitude();*/ Dá pau nesta linha
Toast.makeText(getBaseContext(), provedor, Toast.LENGTH_LONG).show();


Ele não executa o ultimo Toast

Alguém pode ajudar ?
Sou desenvolvedor mas neste assunto sou novo e não sei como fazer o debug com esta ferramenta.

Atenciosamente,



1 Resposta


Olá Alberto

Obrigada pela mensagem, já estamos verificando a sua duvida, e em breve iremos lhe responder.

Att