Bom dia, colegas
Como posso testar se o serviço 3G do smartphone esta ativo, mas NÃO esta funcionando ? no meu caso aparece o ícone 3G mas não navega. E por esse motivo, meu programa antes de mandar o pedido de venda para o webservice, testa se tem conexão. Como a resposta é positivo para o 3G não consegue mandar o pedido mas marcar como se tivesse mandado. Então como faço para testar se tem 3G e se o pacote esta funcionado ?? Lembrando que com o wifi tudo funciona perfeitamente. Segue codigo que uso para testar a conexão
public static boolean isTemConexao(Context ctx) {
// recuperar contexto de conexao do servico
ConnectivityManager connectivityManager=(ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo=null;
if (connectivityManager != null) {
networkInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (!networkInfo.isAvailable()) {
networkInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
}
}
return networkInfo == null ? false : networkInfo.isConnected();
}
agora, codigo do meu programa
if (Sincronizar.isTemConexao(ctx)) { // 18/10/2014 Sincronizar.isConectado(ctx)
Ped ped = new Ped();
ped = dao.getById(idItem);
ped.setTransmitido(1);
List<Peditem> listaPeditem = daoItem.getAll(idItem);
try {
SyncPed taskPed = new SyncPed(ctx, ped, listaPeditem);
taskPed.execute();
if (dao.update(ped)==false) {
MensagemUtil.addMsg(PedLista.this, "Erro");
}
} catch (Exception e) {
}