Olha gente,
Já imaginei que não teria uma forma "correta" de se fazer esse procedimento funcionar em todas as versões do Android. Para tentar resolver isso, fiz da seguinte forma:
Quando ligar o device, eu tenho um BroadcastReceiver que executa assim que o termina o boot, ele verifica se o GPS está ativo, caso não esteja emite uma notificação solicitando que o usuário habilite o GPS.
Quando o usuário clica nessa notificação, eu envio uma intent ao sistema operacional solicitando a abertura da tela de configuração onde habilita o GPS: Intent i = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
A notificação só é cancelada quando o usuário habilitar o GPS.
Agradeço a atenção e ajuda de todos.
Caso alguém teve alguma dúvida de como eu fiz, basta pedir que envio os fontes e explico.
Abraços.
Em 31 de outubro de 2012 16:07, luciofm <luciofm@gmail.com> escreveu:
Por isso que eu implementaria um relatório sobre os usuários que não
seguem as normas da empresa...
--
Lúcio Maciel
luciofm@gmail.com
2012/10/31 Gabriel Augusto <gabrielaugustodm@gmail.com>:
> Com certeza a melhor maneira é levar o usuario, Lucio.
>
> O problema é que deixar essa decisão na mão do usuario final do app
> (geralmente funcionarios que não tem intenção de contribuir com o serviço
> que, geralmente, visa controla-los de alguma maneira) pode acabar tornando o
> app desinteressante para o gestor dos funcionarios.
>
> Em 31 de outubro de 2012 15:02, luciofm <luciofm@gmail.com> escreveu:
>
>> Acho que a melhor maneira é sempre que detectar que o GPS está
>> desligado, pedir para o usuário liga-lo e abrir a tela de configuração
>> de localização para ele, pelo menos essa é a maneira mais portavel
>> para se fazer...
>>
>>
>> Lúcio Maciel
>> luciofm@gmail.com
>>
>>
>> 2012/10/31 Gabriel Augusto <gabrielaugustodm@gmail.com>:
>> > Também necessito disso na minha app e utilizo a primeira forma pois os
>> > devices são 2.2 e 2.3. Porém, se houvesse outra forma, também gostaria
>> > de
>> > saber, é uma restrição a menos na app.
>> >
>> > Abraço,
>> > Gabriel Augusto
>> >
>> > Em 31 de outubro de 2012 10:52, Derci Santos <derciii.lima@gmail.com>
>> > escreveu:
>> >
>> >> Bom dia galera,
>> >>
>> >> Estou desenvolvendo uma app onde me foi solicitado que o GPS seja
>> >> ativado
>> >> automaticamente ao ligar o device. Já descobri como faço para executar
>> >> algo
>> >> quando o device é iniciado, porém estou tendo um problema para ativar o
>> >> GPS.
>> >> Já vi que oficialmente não é correto ligar o GPS de forma automática,
>> >> porém
>> >> encontrei algumas formas alternativas de fazer tal procedimento.
>> >>
>> >> A primeira delas é a seguinte:
>> >>
>> >> Intent i = new Intent();
>> >> i.setClassName("com.android.settings",
>> >> "com.android.settings.widget.SettingsAppWidgetProvider");
>> >> i.addCategory(Intent.CATEGORY_ALTERNATIVE);
>> >> i.setData(Uri.parse("custom:3"));
>> >>
>> >> sendBroadcast(i);
>> >>
>> >> Crio uma intent e a envio em forma de broadcast ao sistema operaciona.
>> >> Essa forma só funcionou em versões anteriores a versão 3.0 do Android.
>> >> Da
>> >> 3.0 acima não funciona.
>> >>
>> >> A segunda forma que encontrei de fazer isso foi a seguinte:
>> >>
>> >> Intent i = new Intent("android.location.GPS_ENABLED_CHANGE");
>> >> i.putExtra("enabled", ligar);
>> >> sendBroadcast(i);
>> >>
>> >> Também crio uma intent e a envio para o sistema operacional. Essa só
>> >> fez
>> >> com que o icone de buscando do GPS ficasse piscando na barra de
>> >> notificação.
>> >> Mas em todos os lugares que olho o GPS está desabilitado.
>> >>
>> >>
>> >> Alguém tem alguma ideia de como posso proceder pra fazer tal rotina.
>> >> Lembrando que estou ciente que não é a forma correta de se fazer, mas
>> >> não
>> >> queria que fosse preciso abrir a tela de preferencias do android para
>> >> habilitar ou desabilitar o GPS.
>> >>
>> >> Desde já agradeço a atenção de todos.
>> >>
>> >> --
>> >>
>> >> Att,
>> >> Derci Santos
>> >> Skype: dercilima
>> >> about.me/dercilima
>> >>
>> >> Recomendação se for reenviar esta mensagem, por favor:
>> >>
>> >> 1. Apague o MEU endereço eletrônico e todos os outros constantes do
>> >> e-mail;
>> >> 2. Encaminhe como CÓPIA OCULTA (Cco ou Bcc) aos seus destinatários.
>> >> 3. Agindo desta forma, você estará colaborando para dificultar a
>> >> disseminação de vírus e spams, e também para tornar a internet mais
>> >> segura.
>> >>
>> >> --
>> >>
>> >>
>> >
>> >
>> >
>> >
>> > --
>> > Abraços,
>> > Gabriel Augusto
>> > 013 97940055
>> >
>> > --
>> >
>> >
>>
>> --
>>
>>
>
>
>
> --
> Abraços,
> Gabriel Augusto
> 013 97940055
>
> --
>
>
Att,
Derci Santos
Skype: dercilima
MSN: dercirv_@hotmail.com
Fones: (34) 8434 - 7699 (Claro - MG)
(64) 3612 - 2628 (Fixo OI - GO)
(64) 9238 - 2325 (Claro - GO)
(64) 8158 - 9137 (Tim - GO)
Recomendação se for reenviar esta mensagem, por favor:
1. Apague o MEU endereço eletrônico e todos os outros constantes do e-mail;
2. Encaminhe como CÓPIA OCULTA (Cco ou Bcc) aos seus destinatários.
3. Agindo desta forma, você estará colaborando para dificultar a disseminação de vírus e spams, e também para tornar a internet mais segura.
2. Encaminhe como CÓPIA OCULTA (Cco ou Bcc) aos seus destinatários.
3. Agindo desta forma, você estará colaborando para dificultar a disseminação de vírus e spams, e também para tornar a internet mais segura.
0 comentários:
Postar um comentário