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

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes! Você receberá um email de confirmação. Somente depois de confirma-lo é que eu poderei lhe enviar os conteúdos semanais exclusivos. Os artigos em PDF são entregues somente para os inscritos na lista.

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
(3043) (7)
Go-ahead
"O método consciente de tentativa e erro é mais bem-sucedido que o planejamento de um gênio isolado."
Peter Skillman
Prototipagem Android
Capa do curso Prototipagem Profissional de Aplicativos
TítuloAndroid: Prototipagem Profissional de Aplicativos
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
Acessar Curso
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Lendo
TítuloCraftsmanship Limpo: Disciplinas, Padrões e ética
CategoriaDesenvolvimento Web
Autor(es)Robert C. Martin
EditoraAlta Books
Edição1ª
Ano2023
Páginas416
Conteúdo Exclusivo
Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba gratuitamente conteúdos Android sem precedentes!
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

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes!
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