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
Hierist 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)
teilen Sie Ihre Manifest-Datei –
@AdnanAli überprüfen Sie bitte aktualisierte Frage – androidXP
überprüfen Sie diesen Link. http://StackOverflow.com/Questions/37711082/How-to-Handle-Notification-when-App-in-background-in-firebase –