Forum Pplware

Versão Completa: Android Notificações Problema
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
Boas tardes!

Estou com um problema um pouco estranho na minha aplicação, eu tenho um método que cria notificações mediante umas posições de gps, e recebo 4 notificações de uma vez como o pretendido. Mas o problema é que o telemóvel começa a vibrar por aparecerem as notificações e não pára!
Qual será o problema? Confused

Código:
private void mostrarNotificacao(Context context, MensagemAlerta messagesAlerts, Class<Main> class1) {

// Recupera o serviço do NotificationManager
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

Notification notificaction = new Notification(R.drawable.ic_launcher,
messagesAlerts.getTitle(), System.currentTimeMillis());

notificaction.sound = Uri.withAppendedPath(
Audio.Media.INTERNAL_CONTENT_URI, "6");
// notification.sound = Uri.parse("file:///sdcard/recording33490.3gpp");

// Flag que vibra e emite um sinal sonoro até o usuário clicar na
// notificação
notificaction.flags |= Notification.FLAG_INSISTENT;

// Flag utilizada para remover a notificação da toolbar quando usuário
// tiver clicado nela.
notificaction.flags |= Notification.FLAG_AUTO_CANCEL;

// PendingIntent para executar a Activity se o usuário selecionar a
// notificão
PendingIntent p = PendingIntent.getActivity(this, 0,
new Intent(this.getApplicationContext(), Main.class), 0);

// Informações
notificaction.setLatestEventInfo(this, messagesAlerts.getSubTitle(),
messagesAlerts.getBody(), p);

// espera 100ms e vibra por 200ms, depois espera por 100 ms e vibra
// por
// 200ms.
notificaction.vibrate = new long[] { 100, 200, 100, 200 };

// id que identifica esta notifição
notificationManager.notify(R.string.app_name, notificaction);
}


Cumps Diogo Pinto
Testaste em mais do que um telemovel?
Sim testei.
No teu código não encontro o porquê de dizeres que recebes 4 notificações.

Quanto ao telémovel não parar de vibrar deve ser por causa disto:
notificaction.flags |= Notification.FLAG_INSISTENT;

Se substituires por [ notificaction.flags |= Notification.FLAG_AUTO_CANCEL; ]
Isso tinha eu na linha de código a seguir, mas foi simples removi estas 2 linhas de código e o problema está resolvido:

"notificaction.flags |= Notification.FLAG_INSISTENT;"

"notificaction.flags |= Notification.FLAG_AUTO_CANCEL;"
URL's de Referência