我试图让我的自定义通知与此类似 我在SO上找到了一些类似的问题和互联网上的例子,但没有人帮助我。
这是我的代码:
RemoteViews bigView = new RemoteViews(mContext.getApplicationContext().getPackageName(), R.layout.notification_playback);
Intent i = new Intent(MainActivity.ACTION_PLAYER, null, mContext, MainActivity.class);
i.putExtra("CURRENT_TRACK", t);
i.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pi = PendingIntent.getActivity(mContext, 0, i, 0);
Notification n = new NotificationCompat.Builder(mContext)
.setContentTitle(t.getName())
.setContentText(t.getArtistName())
.setContentIntent(pi)
.setSmallIcon(R.drawable.ic_notification)
.setLargeIcon(BitmapFactory.decodeResource(mContext.getResources(), R.drawable.ic_launcher))
.setOngoing(true)
.setContent(bigView)
.setWhen(System.currentTimeMillis())
.build();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
n.bigContentView = bigView;
NotificationManager notifyMgr = (NotificationManager)mContext.getSystemService(Context.NOTIFICATION_SERVICE);
notifyMgr.notify(0, n);
它显示为默认大小,并且只有在长时间点击后才会变成我期望的大小。
是否有可能在没有长按的情况下立即使其尺寸变大?如果是这样我该怎么办呢? 谢谢!
答案 0 :(得分:0)
所以,我想通了。
如果是通知,通知会显示为已展开。否则,它显示为常规高度,用户可以将其向下拖动以展开。
为了使其显示在通知顶部,您可以在.setPriority(Notification.PRIORITY_MAX)
中使用Builder
。