android8.1通知,在Android 8.1 API 27上,通知不会显示
如果你得到這個錯誤應該注意2項并且他們訂購:
> NotificationChannel mChannel = new NotificationChannel(id,name,importance);
> builder = new NotificationCompat.Builder(context,id);
NotificationManager notifManager和NotificationChannel mChannel也只創建一次.
通知需要設置者:
> builder.setContentTitle()//必需
> .setSmallIcon()//必需
> .setContentText()//必需
見例子:
private NotificationManager notifManager;
public void createNotification(String aMessage,Context context) {
final int NOTIFY_ID = 0; // ID of notification
String id = context.getString(R.string.default_notification_channel_id); // default_channel_id
String title = context.getString(R.string.default_notification_channel_title); // Default Channel
Intent intent;
PendingIntent pendingIntent;
NotificationCompat.Builder builder;
if (notifManager == null) {
notifManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
int importance = NotificationManager.IMPORTANCE_HIGH;
NotificationChannel mChannel = notifManager.getNotificationChannel(id);
if (mChannel == null) {
mChannel = new NotificationChannel(id,title,importance);
mChannel.enableVibration(true);
mChannel.setVibrationPattern(new long[]{100,200,300,400,500,400});
notifManager.createNotificationChannel(mChannel);
}
builder = new NotificationCompat.Builder(context,id);
intent = new Intent(context,MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
pendingIntent = PendingIntent.getActivity(context,intent,0);
builder.setContentTitle(aMessage) // required
.setSmallIcon(android.R.drawable.ic_popup_reminder) // required
.setContentText(context.getString(R.string.app_name)) // required
.setDefaults(Notification.DEFAULT_ALL)
.setAutoCancel(true)
.setContentIntent(pendingIntent)
.setTicker(aMessage)
.setVibrate(new long[]{100,400});
}
else {
builder = new NotificationCompat.Builder(context,400})
.setPriority(Notification.PRIORITY_HIGH);
}
Notification notification = builder.build();
notifManager.notify(NOTIFY_ID,notification);
}
總結
以上是生活随笔為你收集整理的android8.1通知,在Android 8.1 API 27上,通知不会显示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android往天气接口里面传城市,An
- 下一篇: Android 沙箱开源,Android