1

Ich füge nur Chat-Funktionalität in meine App nach dem Hinzufügen Kernfunktion von apps.I starten Firebase Push-Benachrichtigung in App und folgen Sie alle Schritte aus der offiziellen Dokumentation.So immer wenn ich eine Nachricht aus Firebase-Benachrichtigung Konsole zeigt es, wenn app in Vordergrund aber als App in Hintergrund es zeigt diese Zeilen in logcat aber keine BenachrichtigungAndroid Hintergrundbenachrichtigung funktioniert nicht In Firebase

09-27 16:11:37.645 19946-19946/com.example.com.appD/dalvikvm: DexOpt: couldn't find field Landroid/os/Message;.sendingUid 
09-27 16:11:37.645 19946-19946/com.example.com.appW/dalvikvm: VFY: unable to resolve instance field 135 
09-27 16:11:37.645 19946-19946/com.example.com.appD/dalvikvm: VFY: replacing opcode 0x52 at 0x0000 

Hier ist meine Firebase-Instanz-ID Service-Klasse

Hier

ist meine Firebase Messaging Service Klasse

public class FireBase_Messaging_Service extends FirebaseMessagingService { 
     public static final String TAG="==FireBase MSG=="; 

     @Override 
     public void onMessageReceived(RemoteMessage remoteMessage) { 
      super.onMessageReceived(remoteMessage); 
      Log.d(TAG,"From "+remoteMessage.getFrom()); 

      if (remoteMessage.getData().size()>0){ 
       Log.d(TAG,"Message Data "+remoteMessage.getData()); 
      } 
      if (remoteMessage.getNotification()!=null){ 
       Log.d(TAG,"Message Notification Body "+remoteMessage.getNotification().getBody()); 
      } 
      Log.d(TAG,"FCM Message ID "+remoteMessage.getMessageId()); 
      Log.d(TAG,"FCM Notification Message: "+remoteMessage.getNotification()); 
      Log.d(TAG,"FCM Data Message "+remoteMessage.getData()); 
      showNotification(remoteMessage.getNotification().getBody()); 
     } 

     private void showNotification(String Message){ 
      Intent intent=new Intent(this, UserProfile.class); 
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      PendingIntent pendingIntent=PendingIntent.getActivity(this,5,intent,PendingIntent.FLAG_UPDATE_CURRENT); 

      NotificationCompat.Builder builder= (NotificationCompat.Builder) new NotificationCompat.Builder (this) 
        .setAutoCancel(true) 
        .setContentTitle("New Notification") 
        .setContentText(Message) 
        .setSmallIcon(R.drawable.common_google_signin_btn_icon_light_normal) 
        .setContentIntent(pendingIntent); 

      NotificationManager manager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
      manager.notify(5,builder.build()); 

     } 
    } 

Manifests

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    package="com.example.com.app"> 

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

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".Navigation_Drawer" 
      android:theme="@style/AppTheme"> 

      <intent-filter> 
       <action android:name="android.intent.action.MAIN"></action> 
       <category android:name="android.intent.category.LAUNCHER"></category> 
      </intent-filter> 


     </activity> 

     <service 
      android:name=".ImageDownloading" 
      android:enabled="true" 
      android:exported="false"> 

     </service> 

<!--FIREBASE SERVICES --> 

     <service android:name=".FireBase_Messaging_Service"> 
      <intent-filter> 
       <action android:name="com.google.firebase.MESSAGING_EVENT"></action> 
      </intent-filter> 
     </service> 

     <service android:name=".FireBase_InstanceID_Service"> 
      <intent-filter> 
       <action android:name="com.google.firebase.INSTANCE_ID_EVENT"></action> 
      </intent-filter> 
     </service> 

<!--FIREBASE SERVICES --> 

    </application> 

</manifest> 

für mich Also ich bin nicht in der Lage zu erhalten drücken Benachrichtigung in Benachrichtigung Tray im Hintergrund oder als App geschlossen ist Mit diesen Einträgen in Logcat (die ich nicht verstehe)

+0

teilen Sie Ihre Manifest-Datei –

+0

@AdnanAli überprüfen Sie bitte aktualisierte Frage – androidXP

+0

überprüfen Sie diesen Link. http://StackOverflow.com/Questions/37711082/How-to-Handle-Notification-when-App-in-background-in-firebase –

Antwort

0

Dies funktioniert als beabsichtigte Benachrichtigungen werden nur dann an Ihren onMessageReceived-Rückruf gesendet, wenn Ihre App im Vordergrund ist. Wenn sich Ihre App im Hintergrund befindet oder geschlossen ist, wird im Benachrichtigungscenter eine Benachrichtigung angezeigt, und alle Daten aus dieser Nachricht werden an die Absicht weitergegeben, die durch das Tippen auf die Benachrichtigung durch den Benutzer ausgelöst wird.

Sie können eine click_action angeben, um anzugeben, welche Absicht beim Abhören der Benachrichtigung durch den Benutzer ausgelöst werden soll. Die Hauptaktivität wird verwendet, wenn keine click_action angegeben ist.

Wenn die Absicht Sie die

getIntent().getExtras(); 

gestartet wird

können Sie eine Set abzurufen, die alle Daten zusammen mit der Benachrichtigungsnachricht gesendet umfassen würde.

Weitere Informationen zur Benachrichtigung finden Sie in der Dokumentation.

+0

Zuerst muss ich Benachrichtigung im Benachrichtigungsfeld erhalten und Daten bearbeiten. Bitte lesen Sie die Frage erneut. Ich erhalte keine Benachrichtigung, wenn die App in der Nähe oder im Hintergrund ist – androidXP

Verwandte Themen