NotificationManager: notifyAsUser: tag=null, id=6, user=UserHandle{0}

Android studio 使用   targetSdkVersion 28  在Android系统大于等于8.0的时候,通知不显示bug解决方法:

 

1、修改appcompat版本,如果是小于v27

改为

implementation 'com.android.support:appcompat-v7:27.1.1'

2、添加依赖

compile 'com.github.lovetuzitong:MultiImageSelector:1.2'

3、添加如果系统版本大于等于 8.0 设置NotificationChannel代码

NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    NotificationChannel channel = new NotificationChannel(
            "com.tianxinyw.mapclient.liteapp",
            TAG,
            NotificationManager.IMPORTANCE_DEFAULT

    );

    mNotificationManager.createNotificationChannel(channel);

}

4、builder添加通道setChannelId

Notification.Builder builder = new Notification.Builder(this);

 

builder.setChannelId("com.tianxinyw.mapclient.liteapp")

 

import static me.nereo.multi_image_selector.MultiImageSelectorFragment.TAG;

附:

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(APPlocation.getTotalContext());
NotificationManager mNotificationManager = (NotificationManager) APPlocation.getTotalContext().getSystemService(Context.NOTIFICATION_SERVICE);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    NotificationChannel channel = new NotificationChannel(
            "com.tianxin.service2thread",
            TAG,
            NotificationManager.IMPORTANCE_DEFAULT

    );

    mNotificationManager.createNotificationChannel(channel);

}

mBuilder.setChannelId("com.tianxin.service2thread");
mBuilder.setContentText("内容");
Intent notificationIntent = new Intent(this, TwoActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
        notificationIntent, 0);
mBuilder.setContentIntent(pendingIntent);
mBuilder.setSmallIcon(R.mipmap.ic_launcher);
mNotificationManager.notify(1, mBuilder.build());

你可能感兴趣的:(移动开发)