“通知”背后的图像背景

时间:2016-03-17 20:45:01

标签: android image background notifications

快速解释: 问题:将图像放在通知列表后面的背景中... 我试着用一张大图片,但这不是我想要的......

好吧,我看到了一个自定义通知的应用,如下所示......

enter image description here

enter image description here

我想要一个自定义背景,但我不知道如何做到这一点,我找到了其他的例子,但我解释了如何更改通知,如自定义,背景,按钮,图标等。但我没有找到具体的解决方案......

我找到的链接:

android lollipop notification background colour

Change Notification Layout

我会帮助你。

2 个答案:

答案 0 :(得分:1)

它是媒体控制器应用吗?

由于: 您想要的解决方案仅适用于已将自身注册为媒体控制器的应用程序,因此不播放音频的应用程序无法/不应使用此机制来更改锁屏壁纸。

答案 1 :(得分:1)

/**
* Set up the remote control and tell the system we want to be the default receiver for the MEDIA buttons
* @see http://android-developers.blogspot.fr/2010/06/allowing-applications-to-play-nicer.html
*/
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public void setUpRemoteControlClient() {
Context context = VLCApplication.getAppContext();
AudioManager audioManager = (AudioManager)context.getSystemService(AUDIO_SERVICE);

if(Util.isICSOrLater()) {
    audioManager.registerMediaButtonEventReceiver(mRemoteControlClientReceiverComponent);

    if (mRemoteControlClient == null) {
        Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
        mediaButtonIntent.setComponent(mRemoteControlClientReceiverComponent);
        PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(context, 0, mediaButtonIntent, 0);

        // create and register the remote control client
        mRemoteControlClient = new RemoteControlClient(mediaPendingIntent);
        audioManager.registerRemoteControlClient(mRemoteControlClient);
    }

    mRemoteControlClient.setTransportControlFlags(
            RemoteControlClient.FLAG_KEY_MEDIA_PLAY |
            RemoteControlClient.FLAG_KEY_MEDIA_PAUSE |
            RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS |
            RemoteControlClient.FLAG_KEY_MEDIA_NEXT |
            RemoteControlClient.FLAG_KEY_MEDIA_STOP);
} else if (Util.isFroyoOrLater()) {
    audioManager.registerMediaButtonEventReceiver(mRemoteControlClientReceiverComponent);
    }
}

这部分是为了更新艺术品,以及其他信息:

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
private void updateRemoteControlClientMetadata() {
if(!Util.isICSOrLater()) // NOP check
    return;

if (mRemoteControlClient != null) {
    MetadataEditor editor = mRemoteControlClient.editMetadata(true);
    editor.putString(MediaMetadataRetriever.METADATA_KEY_ALBUM, getCurrentMedia().getAlbum());
    editor.putString(MediaMetadataRetriever.METADATA_KEY_ARTIST, getCurrentMedia().getArtist());
    editor.putString(MediaMetadataRetriever.METADATA_KEY_GENRE, getCurrentMedia().getGenre());
    editor.putString(MediaMetadataRetriever.METADATA_KEY_TITLE, getCurrentMedia().getTitle());
    editor.putLong(MediaMetadataRetriever.METADATA_KEY_DURATION, getCurrentMedia().getLength());
    editor.putBitmap(MetadataEditor.BITMAP_KEY_ARTWORK, getCover());
    editor.apply();
}
}