Por incrivel que pareça, a idéia dada pelo Lucio está sendo finalizada (lado servidor) e o aplicativo já esta preparado para receber um push e re-iniciar o app!
Quanto ao check-in, acho que já posso utilizar algo que está feito. O serviço serve para enviar as coordenadas GPS/NETWORK do funcionario. Se o webservice não recebeu coordenadas em X tempos, enviaremos um push! Existe também a ideia de disponibilizar uma ferramenta no site para o gestor re-iniciar o app do funcionario.
Os aparelhos contarão também com Launcher personalizado e com um Locker (nos moldes dos app lockers distribuidos no market). Dessa forma, se ainda assim existirem funcionarios problematicos o problema está no próprio funcionario. Estou tendo ainda alguns problemas apenas com o intent BOOT_COMPLETED e o ACTION_SHUTDOWN.
Como disse o Erick, a dependência da conexão com a Internet existe realmente. Visto que os aparelhos serão vendidos por uma empresa de telecomunicação, contando com pacotes de dados e demais, os problemas não serão grandes.
Obrigado a todos pelas dicas!
Gabriel Augusto
Em 31 de outubro de 2012 10:22, Erick Couto <erickcouto79@gmail.com> escreveu:
O único incoveniente é a necessidade de conexão de internet para todos os terminais.
Confiar nas operadoras de telefonia é meio complicado.
Outra sugestão poderia ser armazenar um "LOG" de utilização do aparelho, de forma encriptada, e com upload diário para o servidor (montando um perfil de uso e fazendo com que o service alimente o log).. isso diminuiria a necessidade de conexão a todo instante.
Em 31 de outubro de 2012 10:17, luciofm <luciofm@gmail.com> escreveu:E BTW, fazendo um check-in no servidor, você tem como saber exatamente
quais os funcionarios que estão matando o serviço.
Lúcio Maciel
luciofm@gmail.com
2012/10/31 luciofm <luciofm@gmail.com>:
> Utilizando GCM apenas o serviço do Google tem que estar rodando...
>
> O seu aplicativo é inicializado pelo GCM para tratar o PUSH.
>
> Se os funcionarios matam até esse serviço, você tem um problema com os
> funcionários, e não com o sistema...
>
> Lúcio Maciel
> luciofm@gmail.com
>
>
> 2012/10/31 Psy Khé <psykhe6@gmail.com>:
>> Lucio,
>>
>> De qualquer forma vai ter que ter algum serviço em execução...?
>>
>> Por isso se for apenas um service e ele força a parada do serviço, não será
>> eficiente essa consulta no server.
>>
>> A ideia de ter mais de um serviço "zumbis" e apenas um com a feature de
>> realização do serviço propriamente dito, acho que é valida.
>>
>> Pois se ele parar um serviço...Um dos outros dois, vai reinicia-lo.
>>
>> Hum...
>>
>> I dont know!!
>>
>> Ou talvez nao entendi bem...
>>
>> Abs a comu!
>>
>> Att.
>>
>> Psy Khé.
>>
>> Em 31 de outubro de 2012 09:53, luciofm <luciofm@gmail.com> escreveu:
>>>
>>> Você pode fazer esse controle do lado servidor...
>>>
>>> A cada execução do seu serviço você pode notificar seu servidor...
>>>
>>> No lado servidor, se ele perceber que existe algum usuário que não fez
>>> um check-in nos últimos X minutos/horas, você envia um PUSH para ele,
>>> e no tratamento do PUSH você re-inicia o seu service...
>>>
>>> Depois mando a nota fiscal do serviço...
>>> Lúcio Maciel
>>> luciofm@gmail.com
>>>
>>>
>>> 2012/10/30 Gabriel Augusto <gabrielaugustodm@gmail.com>:
>>> > É, essa solução do "virus" foi cogitada cara..
>>> >
>>> > Obrigado pela dica!
>>> >
>>> > Em 30 de outubro de 2012 21:29, Psy Khé <psykhe6@gmail.com> escreveu:
>>> >
>>> >> É iria indicar somente o uso de um unico service,
>>> >>
>>> >> Mas com meu pouco uso de Android, vejo que pode ser também parado no
>>> >> menu
>>> >> aplicativos/execução...
>>> >>
>>> >> Então, não vejo uma solução simples,
>>> >>
>>> >> Uma rom customizada seria possivel e bem hard.
>>> >>
>>> >> Fora isso...
>>> >>
>>> >> Talvez fazer um esquema de "virus" já que é algo empresarial,
>>> >>
>>> >> Com três serviços rodando simultaneamente, e apenas um fazendo a
>>> >> feature
>>> >> completa,
>>> >>
>>> >> Porem ambos verificam a existencia deles ativos...se algum deles for
>>> >> encerrado, um dos dois ira executa-lo novamente.
>>> >>
>>> >> Algo do genero, rs...
>>> >>
>>> >> Não sei até quando vai ser eficaz, mas um estudo do genero pode ser
>>> >> possivel.
>>> >>
>>> >> Não sei se tera uma solução pratica para inviabilizar alguem de parar a
>>> >> execução no menu citado.
>>> >>
>>> >> Vlw,
>>> >>
>>> >> Abs,
>>> >>
>>> >> Psy Khé.
>>> >>
>>> >> Em 30 de outubro de 2012 16:06, Gabriel Augusto
>>> >> <gabrielaugustodm@gmail.com> escreveu:
>>> >>>
>>> >>> Vi nesse link que o AlarmManager funciona independente do Force close,
>>> >>> pelo PendingIntent. Porém não esta acontecendo assim..
>>> >>>
>>> >>> Segue meu Alarm
>>> >>>
>>> >>> public void agendarPing() {
>>> >>> Intent it = new Intent("EXECUTA");
>>> >>> PendingIntent p = PendingIntent.getBroadcast(LocatorService.this, 0,
>>> >>> it,
>>> >>> 0);
>>> >>> Calendar c = Calendar.getInstance();
>>> >>> c.setTimeInMillis(System.currentTimeMillis());
>>> >>> c.add(Calendar.SECOND, 360);
>>> >>> long tempoReabrir = c.getTimeInMillis();
>>> >>> AlarmManager reabrir = (AlarmManager) getSystemService(ALARM_SERVICE);
>>> >>> reabrir.set(AlarmManager.RTC_WAKEUP, tempoReabrir, p);
>>> >>> Log.d(TAG, "Alarme agendado com sucesso!");
>>> >>> }
>>> >>>
>>> >>> Em 30 de outubro de 2012 16:03, Gabriel Augusto
>>> >>> <gabrielaugustodm@gmail.com> escreveu:
>>> >>>
>>> >>>> Meu app não é distribuido no market. É voltado para emrpesas que
>>> >>>> buscam
>>> >>>> ter o controle dos aparelhos de seus funcionarios..
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> Em 30 de outubro de 2012 15:36, Lucas Xavier <lucasxas@gmail.com>
>>> >>>> escreveu:
>>> >>>>
>>> >>>>> Acho que seria mais interessante procurar saber em quais
>>> >>>>> circunstâncias
>>> >>>>> seus usuários estão forçando a interrupção do app.
>>> >>>>> --
>>> >>>>> Atenciosamente,
>>> >>>>>
>>> >>>>> Lucas Xavier
>>> >>>>>
>>> >>>>>
>>> >>>>> Em 30 de outubro de 2012 14:23, Otávio Massard Mendes
>>> >>>>> <otaviommendes@gmail.com> escreveu:
>>> >>>>>
>>> >>>>>> Se o usuário DESEJA essa interrupção... seria legal ignorá-la?
>>> >>>>>>
>>> >>>>>> On 30/10/2012, at 15:22, Gabriel Augusto
>>> >>>>>> <gabrielaugustodm@gmail.com>
>>> >>>>>> wrote:
>>> >>>>>>
>>> >>>>>> Boa tarde,
>>> >>>>>>
>>> >>>>>> Utilizo AlarmManager para re-abrir meu Service de tanto em tanto
>>> >>>>>> tempo.Porém, se o usuario for até o gerenciador de aplicativos e
>>> >>>>>> Forçar
>>> >>>>>> interrupção do app, o alarme automaticamente é cancelado.
>>> >>>>>>
>>> >>>>>> Existe algum modo de ignorar esse 'Forçar interrupção' e iniciar
>>> >>>>>> mesmo
>>> >>>>>> assim o Service?
>>> >>>>>>
>>> >>>>>> Procurei também por bloquear o botão mas nada funcionou..
>>> >>>>>>
>>> >>>>>> Muito obrigado desde já!
>>> >>>>>>
>>> >>>>>> --
>>> >>>>>> Abraços,
>>> >>>>>> Gabriel Augusto
>>> >>>>>> 013 97940055
>>> >>>>>>
>>> >>>>>>
>>> >>>>>> --
>>> >>>>>>
>>> >>>>>>
>>> >>>>>>
>>> >>>>>>
>>> >>>>>> --
>>> >>>>>>
>>> >>>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>> --
>>> >>>>>
>>> >>>>>
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> --
>>> >>>> Abraços,
>>> >>>> Gabriel Augusto
>>> >>>> 013 97940055
>>> >>>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> --
>>> >>> Abraços,
>>> >>> Gabriel Augusto
>>> >>> 013 97940055
>>> >>>
>>> >>> --
>>> >>>
>>> >>>
>>> >>
>>> >>
>>> >> --
>>> >>
>>> >>
>>> >
>>> >
>>> >
>>> >
>>> > --
>>> > Abraços,
>>> > Gabriel Augusto
>>> > 013 97940055
>>> >
>>> > --
>>> >
>>> >
>>>
>>> --
>>>
>>>
>>
>> --
>>
>>
--
--
-----------------------------------------------------------------
Erick Couto
Java | Android | PHP
--
Abraços,
Gabriel Augusto
013 97940055
0 comentários:
Postar um comentário