Commit 0b0754da by sikang

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

parent df445d32
...@@ -13,7 +13,7 @@ import com.google.firebase.messaging.RemoteMessage; ...@@ -13,7 +13,7 @@ import com.google.firebase.messaging.RemoteMessage;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import tech.starwin.LibConfig; import tech.starwin.LibConfig;
import tech.starwin.R; import tech.starwin.utils.ui_utils.UIHelper;
/** /**
...@@ -29,17 +29,15 @@ public class MsgHandleService extends FirebaseMessagingService { ...@@ -29,17 +29,15 @@ public class MsgHandleService extends FirebaseMessagingService {
if (remoteMessage.getNotification() != null) { if (remoteMessage.getNotification() != null) {
RemoteMessage.Notification notificationInfo = remoteMessage.getNotification(); RemoteMessage.Notification notificationInfo = remoteMessage.getNotification();
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "default")
Notification notification = new NotificationCompat.Builder(this, "default")
.setContentTitle(notificationInfo.getTitle()) .setContentTitle(notificationInfo.getTitle())
.setContentText(notificationInfo.getBody()) .setContentText(notificationInfo.getBody())
.setSmallIcon(LibConfig.APP_ICON) .setSmallIcon(LibConfig.APP_ICON)
.setWhen(System.currentTimeMillis()) .setWhen(System.currentTimeMillis())
.setTicker(notificationInfo.getTitle()) .setTicker(notificationInfo.getTitle())
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setAutoCancel(true) .setAutoCancel(true);
.build(); UIHelper.notifyNotification(getBaseContext(), builder);
manager.notify(1, notification);
} }
} }
......
...@@ -3,17 +3,22 @@ package tech.starwin.utils.ui_utils; ...@@ -3,17 +3,22 @@ package tech.starwin.utils.ui_utils;
import android.app.Activity; import android.app.Activity;
import android.app.Instrumentation; import android.app.Instrumentation;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Build;
import android.support.annotation.ColorRes; import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes; import android.support.annotation.DrawableRes;
import android.support.annotation.IdRes; import android.support.annotation.IdRes;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.annotation.StringRes; import android.support.annotation.StringRes;
import android.support.v4.app.NotificationCompat;
import android.support.v4.content.ContextCompat; import android.support.v4.content.ContextCompat;
import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.GridLayoutManager;
...@@ -44,6 +49,7 @@ import io.reactivex.Observable; ...@@ -44,6 +49,7 @@ import io.reactivex.Observable;
import io.reactivex.ObservableEmitter; import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe; import io.reactivex.ObservableOnSubscribe;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import tech.starwin.LibConfig;
import tech.starwin.R; import tech.starwin.R;
import tech.starwin.base.RecyclerViewHolder; import tech.starwin.base.RecyclerViewHolder;
import tech.starwin.utils.BitmapUtils; import tech.starwin.utils.BitmapUtils;
...@@ -364,4 +370,27 @@ public class UIHelper { ...@@ -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