我无法使用大视图样式创建通知。支持库问题?我的代码在Eclipse中没问题(没有错误),但通知只显示了contentTitle,ContentText,图标......就是这样!我的通知中没有额外的行...出了什么问题?非常感谢你的回复 。这是代码......
@Override
protected void onMessage(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
//Log.d("onMessage", String.valueOf(arg1));
//Log.d("onMessage", "Receive a message");
// Get the data from intent and send to notification bar
String message = arg1.getExtras().getString("message");
generateNotification3(arg0, message);
}
private static void generateNotification3(Context context, String message) {
NotificationCompat.Builder mbuilder =
new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("lolo")
.setContentText("text")
.setDefaults(Notification.DEFAULT_ALL) // requires VIBRATE permission
/*
* Sets the big view "big text" style and supplies the
* text (the user's reminder message) that will be displayed
* in the detail area of the expanded notification.
* These calls are ignored by the support library for
* pre-4.1 devices.
*/
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(message));
// Creates an explicit intent for an Activity in your app
Intent resultIntent = new Intent(context, Fsa.class);
// The stack builder object will contain an artificial back stack for
// the
// started Activity.
// This ensures that navigating backward from the Activity leads out of
// your application to the Home screen.
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
// Adds the back stack for the Intent (but not the Intent itself)
stackBuilder.addParentStack(Fsa.class);
// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,
PendingIntent.FLAG_UPDATE_CURRENT);
mbuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
// mId allows you to update the notification later on.
mNotificationManager.notify(100, mbuilder.build());
}
答案 0 :(得分:14)
根据官方文档here,"大视图仅在通知展开时出现,当通知位于通知抽屉的顶部时,或者当用户展开通知时一个手势" 因此,为了具有大视图样式,通知应放在列表的顶部。
为此,请在创建通知时添加:
setPriority(Notification.PRIORITY_MAX)
因此,当收到列表时,它将始终位于列表的顶部位置(当然,如果用户没有打开通知抽屉,并且其他通知具有最大优先级,那么它就不会保证你的人仍然在最顶层。)