Android MediaStyle NotificationCompat最多显示3个操作

时间:2016-03-19 09:54:58

标签: android action android-notifications

我的NotificationCompat.Builder设置为MediaStyle有两个问题:

1)我设置了5个动作,扩展通知中只显示3个动作。 (显示的前3个动作正常)。

2)虽然我设置了1个动作,但紧凑通知中没有显示任何动作。

我在Lollipop 5.1.1(Cyanogen)上测试三星S4,我的应用程序使用支持库23.2.1

以下是我的NotificationCompat.Builder:

        notificationBuilder = new NotificationCompat.Builder(act)
            .setPriority(NotificationCompat.PRIORITY_HIGH)
            .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
            .setCategory(NotificationCompat.CATEGORY_TRANSPORT)
            .setContentTitle(podcastName)
            .setContentText(episodeName)
            .setOngoing(true)
            .setShowWhen(true)
            .setContentIntent(activityMainPI)
            .setSmallIcon(smallIcon)
            .setLargeIcon(largeIcon)
            .setAutoCancel(false)
            .addAction(previousAction)
            .addAction(playAction)
            .addAction(nextAction)
            .addAction(rewindAction)
            .addAction(forwardAction)
            .setStyle(new MediaStyle()
                            .setShowActionsInCompactView(new int[]{1})
            );

2 个答案:

答案 0 :(得分:2)

我找到了这个问题的原因。我使用了v4 appcompat支持库而不是v7

所以更换:

import android.support.v4.app.NotificationCompat;

by:

import android.support.v7.app.NotificationCompat;

修复了问题。

这也是我issues的另一个媒体风格通知的原因。

答案 1 :(得分:0)

<> Eugen,请找第一个动作(其他动作类似):

<?php
$xml = file_get_contents("test.xml");
$per = preg_replace('/<question[\s\S]+?>|<\/question>|<test>|
<\/test>|<\?xml[\s\S]+?>/i', "", $xml);
$array = explode("\n", $per);
function filter($str)
{
    return !preg_match('/^[\s]*$/', $str);
}

$array = array_filter($array, "filter");
var_dump ($array);
?>