【问题标题】:big custom notification in androidandroid中的大自定义通知
【发布时间】:2014-10-29 13:15:58
【问题描述】:

我正在尝试使我的自定义通知类似于此通知 我在 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);

它以默认大小显示,并在长按后变成我期望的大小。

是否可以在不长按的情况下立即使其变大?如果是这样,我该怎么做? 谢谢!

【问题讨论】:

标签: android notifications


【解决方案1】:

所以,我发现了什么。 如果它是通知的收件人,则通知显示为展开。否则,它会显示为常规高度,用户可以将其向下拖动以展开。 为了让它出现在通知的顶部,您可以在Builder 中使用.setPriority(Notification.PRIORITY_MAX)

【讨论】:

  • 顺便说一句,如果您没有设置优先级并且设备已插入您的 PC,那么Connected as a media device 通知最有可能位于顶部,因此您将始终看到它未展开。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多