Commit 0b0754da by sikang

修复APP在前台时,收到推送无通知

parent df445d32
......@@ -13,7 +13,7 @@ import com.google.firebase.messaging.RemoteMessage;
import org.greenrobot.eventbus.EventBus;
import tech.starwin.LibConfig;
import tech.starwin.R;
import tech.starwin.utils.ui_utils.UIHelper;
/**
......@@ -29,17 +29,15 @@ public class MsgHandleService extends FirebaseMessagingService {
if (remoteMessage.getNotification() != null) {
RemoteMessage.Notification notificationInfo = remoteMessage.getNotification();
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification = new NotificationCompat.Builder(this, "default")
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "default")
.setContentTitle(notificationInfo.getTitle())
.setContentText(notificationInfo.getBody())
.setSmallIcon(LibConfig.APP_ICON)
.setWhen(System.currentTimeMillis())
.setTicker(notificationInfo.getTitle())
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setAutoCancel(true)
.build();
manager.notify(1, notification);
.setAutoCancel(true);
UIHelper.notifyNotification(getBaseContext(), builder);
}
}
......
......@@ -3,17 +3,22 @@ package tech.starwin.utils.ui_utils;
import android.app.Activity;
import android.app.Instrumentation;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;
import android.support.annotation.IdRes;
import android.support.annotation.NonNull;
import android.support.annotation.StringRes;
import android.support.v4.app.NotificationCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.GridLayoutManager;
......@@ -44,6 +49,7 @@ import io.reactivex.Observable;
import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.schedulers.Schedulers;
import tech.starwin.LibConfig;
import tech.starwin.R;
import tech.starwin.base.RecyclerViewHolder;
import tech.starwin.utils.BitmapUtils;
......@@ -364,4 +370,27 @@ public class UIHelper {
}
/**
* 显示通知
*/
public static void notifyNotification(Context context, NotificationCompat.Builder builder) {
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
builder.setWhen(System.currentTimeMillis())
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL)
.setPriority(NotificationCompat.PRIORITY_HIGH);
// 兼容android O
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel(LibConfig.APPLICATION_ID, LibConfig.APPLICATION_ID, NotificationManager.IMPORTANCE_DEFAULT);
notificationManager.createNotificationChannel(channel);
builder.setChannelId(LibConfig.APPLICATION_ID);
}
// 通知系统展示通知栏
notificationManager.notify("test", 111, builder.build());
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment