Restrições de Notificação, Time Ago e SpannableString. Push Message Android - Parte 4

Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog. Você receberá um email de confirmação. Somente depois de confirma-lo é que poderei lhe enviar os conteúdos exclusivos.

Email inválido.
Blog /Android /Restrições de Notificação, Time Ago e SpannableString. Push Message Android - Parte 4

Restrições de Notificação, Time Ago e SpannableString. Push Message Android - Parte 4

Vinícius Thiengo
(2163) (7)
Go-ahead
"Todo mundo quer uma solução rápida, como abdominais de 6 minutos - você pode obter alguns resultados, mas esses resultados não serão permanentes. Os resultados permanentes vêm de você ter que sofrer. Você precisa fazer uma tatuagem no seu cérebro para que, quando a dificuldade voltar, você não a esqueça."
David Goggins
Kotlin Android
Capa do livro Desenvolvedor Kotlin Android - Bibliotecas para o dia a dia
TítuloDesenvolvedor Kotlin Android - Bibliotecas para o dia a dia
CategoriasAndroid, Kotlin
AutorVinícius Thiengo
Edição
Capítulos19
Páginas1035
Acessar Livro
Treinamento Oficial
Android: Prototipagem Profissional de Aplicativos
CursoAndroid: Prototipagem Profissional de Aplicativos
CategoriaAndroid
InstrutorVinícius Thiengo
NívelTodos os níveis
Vídeo aulas186
PlataformaUdemy
Acessar Curso
Receitas Android
Capa do livro Receitas Para Desenvolvedores Android
TítuloReceitas Para Desenvolvedores Android
CategoriaDesenvolvimento Android
AutorVinícius Thiengo
Edição
Ano2017
Capítulos20
Páginas936
Acessar Livro
Código Limpo
Capa do livro Refatorando Para Programas Limpos
TítuloRefatorando Para Programas Limpos
CategoriaEngenharia de Software
AutorVinícius Thiengo
Edição
Capítulos46
Páginas599
Acessar Livro
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Conteúdo Exclusivo
Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog.
Email inválido

Opa, blz?

Nesse vídeo 4 da série Push Message no Android, dou continuidade a implementação de funcionalidades na APP de Mensagens, funcionalidades que utilizam como apoio a tecnologia de push message do Google Cloud Message (GCM). Ainda com a tecnologia HTTP no GCM, foi possível implementar o script de "mensagem lida", "remoção de mensagem", além do convencional script de notificação com visualização na StatusBar do Android além de na interface ser implementado o contador de novas mensagens e a inserção de nova mensagem quando a Activity de Mensagens (Chat) está aberta.

Nesse vídeo é abordado o algoritmo de restrição de acesso a features de ring e vibrate do device caso o user tenha definido essa restrição via interface da APP ou via configurações do próprio device (quando coloca o device em modo avião, silencioso, vibrate ou normal). Esse algoritmo é necessário, pois como estamos utilizando notificações temos de respeitar a escolha do user de que em alguns momentos a APP deve fazer "zero" barulho / vibrate, isso seguindo as recomendações da documentação do Android. No vídeo é abordado também como colocar uma série de notificações mais recentes em apenas uma notificação com o InboxStyle e utilizando estilo em String não html para colocar em negrito a parte dos nomes dos emissores das mensagens,n utilizando o SpannableString.

Fique atento quanto a parte do SharedPreferences para atualizar a configuração de notificação entre users, pois junto a key utilizada para acesso aos dados é concatenado também o id do user que terá as atualizações de notificação. Também é utilizada uma lib de Dialog (MaterialDialog) junto ao listener onLongClickListener() para apresentar as opções notificação e para remover mensagens. Nas mensagens é utilizado um script de "time ago" que apresenta o tempo em formato mais amigável ("a 2 minutos", por exemplo) do que a data e horários brutos, formato utilizado anteriormente na APP. Bom é isso, vou deixar você assistir ao vídeo.

Segue link da PlayList da série no YouTube:

Push Message Android

Links de acesso ao projeto no GitHub:

Parte Android: https://github.com/viniciusthiengo/push-message-serie

Parte Web: https://github.com/viniciusthiengo/push-message-serie-web

Segue links das páginas no vídeo e utilizadas para a construção dele:

Página da lib Material Dialogs no GitHub

Página / resposta com o script de Time Ago do Google I/O 2012

Página / resposta com o script do SpannableString para marcação de string no texto de notificação

Página do SpannableString no site de documentação do Android

Vlw

Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog.
Email inválido

Relacionado

TextInputLayout e Envio de Email no Android com PHPMailer e AWS SESTextInputLayout e Envio de Email no Android com PHPMailer e AWS SESAndroid
GCM Downstream Messages. Push Message Android - Parte 1GCM Downstream Messages. Push Message Android - Parte 1Android
Notificações com NotificationCompat. Push Message Android - Parte 2Notificações com NotificationCompat. Push Message Android - Parte 2Android
APP de Mensagens. Push Message Android - Parte 3APP de Mensagens. Push Message Android - Parte 3Android

Compartilhar

Comentários Facebook

Comentários Blog (7)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
27/03/2016
Fala Thiengo, tenho uma dúvida, consegui implementar o Push Message Android tendo como referência o primeiro e segundo vídeo da serie, ou seja, envio uma notificação para App e abro uma activity com informações de um BD, mas agora gostaria de incluir também um chat para que o usuário consiga tirar dúvidas com o gestor da App, já tendo como referência o 4 vídeo da serie, nesse caso eu vou ter um segundo MyGcmListenerService com métodos implementados de forma diferente ou eu conseguiria implementar tipos de notificações diferentes com várias funcionalidades no mesmo arquivo MyGcmListenerService que é declarado no manifest.

Obrigado
Responder
Vinícius Thiengo (0) (0)
31/03/2016
Fala Luiz, blz?
Considere a possibilidade de utilizar o Firebase para o chat, pois será mais simples de implementar e mt provavelmente mais eficiente. (http://www.thiengo.com.br/persistencia-com-firebase-android-parte-1 ). Abraço
Responder
jeducabral (1) (0)
07/09/2015
pelo amor de Deus. preciso de uma consultoria em phonegap com ionic framework. Estou desde o início do ano procurando alguém aqui no Brasil e nada. O que eu quero é simples. me chamem no whats 068 99177835.  obrigado
Responder
Vinícius Thiengo (0) (0)
07/09/2015
Fala Jeducabral, blz?
Não tenho expertise em Ionic nem PhoneGap, mas posso lhe indicar excelentes developers que podem suprir essa demanda sua, veja com eles se algum se encaixa com essas tecnologias. Em email lhe enviei a mensagem. Abraço
Responder
Lucas José (1) (0)
31/08/2015
Fale Thiengo!! Vê se tu pode me ajudar nesse problema de SMS... To usando o seguinte código pra envio de SMS:
SmsManager bat = SmsManager.getDefault();
        bat.sendTextMessage(numero,null,msg,null,null);
Que é como vi em muitos sites pela internet mas mesmo com a permissão de SEND_SMS ele dá o seguinte erro: FATAL EXCEPTION: main     Process: br.com.iesam.pi.projetopi, PID: 27514     java.lang.IllegalStateException: Could not execute method of the activity ... Caused by: java.lang.SecurityException: Sending SMS message: uid 10066 does not have android.permission.SEND_SMS.             at android.os.Parcel.readException(Parcel.java:1540)             at android.os.Parcel.readException(Parcel.java:1493)             at com.android.internal.telephony.ISms$Stub$Proxy.sendText(ISms.java:948)             at android.telephony.SmsManager.sendTextMessage(SmsManager.java:251)             at br.com.iesam.pi.projetopi.MainActivity.enviarSMS(MainActivity.java:64) ... Dá erro de permissão sendo que já foi posto no manifest da  forma adequada. Sabe qual erro? (estou na API 21). Manifest:     <uses-permission android:name="ANDROID.PERMISSION.SEND_SMS"/>
Responder
Vinícius Thiengo (1) (0)
02/09/2015
Fala Lucas, blz?
Coloque:

<uses-permission android:name="android.permission.SEND_SMS"/>

ao invés de:

<uses-permission android:name="ANDROID.PERMISSION.SEND_SMS"/>

Com letras maiusculas. Dessa forma provavelmente deve funcionar, pois já tive esse problema. Abraço
Responder
04/09/2015
Valeu Thiengo!
Era isso mesmo, deixei como maiúscula pois foi o gerado pelo Android Studio.
abraço.
Responder