在android中的大自定义通知

时间:2014-10-29 13:15:58

标签: android notifications

我试图让我的自定义通知与此类似 enter image description here 我在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);

它显示为默认大小,并且只有在长时间点击后才会变成我期望的大小。

是否有可能在没有长按的情况下立即使其尺寸变大?如果是这样我该怎么办呢? 谢谢!

1 个答案:

答案 0 :(得分:0)

所以,我想通了。 如果是通知,通知会显示为已展开。否则,它显示为常规高度,用户可以将其向下拖动以展开。 为了使其显示在通知顶部,您可以在.setPriority(Notification.PRIORITY_MAX)中使用Builder