2016-04-07 6 views
-1

Ich versuche, Push-Benachrichtigungen zu implementieren, und ich habe auch Benachrichtigungen erhalten. Aber jetzt brauche ich Benachrichtigungen in der Benachrichtigungsleiste, wenn eingeschaltet. I.e. Wenn ich eine Benachrichtigung bekam, wenn das Handy zu der Zeit eingeschaltet war, haben wir keine Benachrichtigung im Infobereich gesehen, wenn das Gerät heruntergefahren ist, wenn ich das Handy eingeschaltet habe, muss ich diese Benachrichtigung in der Benachrichtigungsleiste haben und ich habe auch eine andere Anforderung Wenn ich die Benachrichtigung im Benachrichtigungsbereich entferne, brauche ich diese Benachrichtigung nach 10 Minuten im Benachrichtigungsbereich/in der Benachrichtigungsleiste.Wie kann die Benachrichtigung im Infobereich/in der Leiste gehalten werden, wenn das Gerät heruntergefahren wird?

Wie kann ich das erreichen?

Antwort

0

Um Dinge beim Booten zu tun, registrieren Sie einen BroadcastReceveiver bis BOOT_COMPLETED in Ihrem Manifest.

Um Dinge nach einer bestimmten Zeit zu tun, verwenden Sie AlarmManager.

+0

i auf GCM Push-Benachrichtigungen arbeite, so was ist die Beziehung mit Alarmmanager und Broadcast-Receveiver – Latha

1

können Sie verwenden PendingIntent mit FLAG_ONE_SHOT:

private void sendNotification(String from, String message) { 
     Bundle bundle = new Bundle(); 
     Intent intent = new Intent(this, ChatActivity.class); 
     intent.putExtra("INFO", bundle); 
     PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT); 
     Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
     NotificationCompat.Builder builder = new NotificationCompat.Builder(this) 
       .setContentTitle(from) 
       .setSound(defaultSoundUri) 
       .setContentText(message) 
       .setSmallIcon(R.drawable.ic_notification) 
       .setAutoCancel(true) 
       .setContentIntent(pendingIntent); 

     NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

     notificationManager.notify(0, builder.build()); 
    } 

Und denken Sie daran Satz WAKE_LOCK Erlaubnis in Ihrer Manifest-Datei:

<uses-permission android:name="android.permission.WAKE_LOCK" /> 
+0

nein, working.its seine nicht nicht auf Infobereich nach dem Einschalten poping auf – Latha

3
  1. Sie müssen Benachrichtigung Inhalt einige, wo, wie SharePreference retten .
  2. Sie hören zu, wenn das Gerät mit dieser Absicht gestartet wird, "android.intent.action.BOOT_COMPLETED". Wenn der Broadcast-Empfänger ausgelöst wird, lesen Sie den Benachrichtigungsinhalt aus Schritt 1 und melden erneut.

Einfach, rechts :)

Verwandte Themen