使用PlaybackStateCompat防止磨损通知

时间:2017-09-08 14:37:45

标签: android android-mediaplayer wear-os

关注this tutorial后,我在我的应用中实施了一个音频播放器。但是,通知会自动显示在Wear设备上,这是我不想要的。我已将其缩小到此代码:

    PlaybackStateCompat.Builder playbackstateBuilder = new PlaybackStateCompat.Builder();

    if (state == PlaybackStateCompat.STATE_PLAYING) {
        playbackstateBuilder.setActions(PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_PAUSE);
    } else {
        playbackstateBuilder.setActions(PlaybackStateCompat.ACTION_PLAY_PAUSE | PlaybackStateCompat.ACTION_PLAY);
    }

    playbackstateBuilder.setState(state, PlaybackStateCompat.PLAYBACK_POSITION_UNKNOWN, 0);
    mMediaSessionCompat.setPlaybackState(playbackstateBuilder.build());

具体地说,最后一行是通知显示的位置。如果我注释掉该行,则通知不会显示,但我的应用程序不再响应外部媒体控件。

1 个答案:

答案 0 :(得分:0)

尝试使用setPriority中的NotificationCompat.Builder方法来控制您的Android磨损通知。

在设置优先级时,在某些情况下可能会向用户隐藏低优先级通知,而用户可能会因更高优先级的通知而中断。

有关详细信息,请参阅Creating a Notification for Wearables