Tôi đang cố sử dụng FireBase Cloud Messaging. Tôi nhận được mã thông báo nhưng không nhận được bất kỳ thông báo nào từ bảng điều khiển. Đây là Manifest của tôi:FireBase Nhắn tin qua đám mây không hoạt động
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="careerage.jobseeker.app"
android:hardwareAccelerated="true"
android:versionCode="1"
android:versionName="0.0.1">
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="23" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<android:uses-permission android:name="android.permission.READ_PHONE_STATE" />
<android:uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:hardwareAccelerated="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:supportsRtl="true">
<activity
android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
android:label="@string/activity_name"
android:launchMode="singleTop"
android:theme="@android:style/Theme.DeviceDefault.NoActionBar"
android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".TokenService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
<service
android:name=".NotificationService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
</application>
Và Mã của tôi là gần như giống nhau như từ mẫu:
public class NotificationService extends FirebaseMessagingService {
private void sendNotification(String messagebody) {
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 , intent,
PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.icon)
.setContentTitle("Notified")
.setContentText(messagebody)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0 , notificationBuilder.build());
}
private void sendSnackbar(String messagebody)
{
Toast.makeText(this,"Notified",Toast.LENGTH_LONG).show();
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Toast.makeText(this,"Message Received",Toast.LENGTH_LONG).show();
Log.d("Notification Received",remoteMessage.getNotification().getBody());
sendNotification(remoteMessage.getNotification().getBody());
sendSnackbar(remoteMessage.getNotification().getBody());
}
}
Tôi đã kiểm tra các Câu hỏi ở đây Firebase cloud messaging notification not received by device nhưng nó vẫn không làm việc.
Bạn có gửi tải trọng qua bảng điều khiển không? –
@McAwesomville Yep và làm việc với mẫu của chúng –
Xin lỗi. Tôi không thấy trước đó, bạn đã đề cập đến điều đó. Dù sao, vì vậy các bản ghi trong 'onMessageReceived()' của bạn không hiển thị sau khi bạn gửi Thông báo? Ứng dụng ở nền trước hay nền sau? –