Android 自定义前台服务通知

Android customize foreground service notification

如何自定义前台服务通知? 我试过了:

private void startForegoundService() {
    RemoteViews remoteViews = new RemoteViews(getPackageName(),
            R.layout.custom_notification);
    Notification.Builder mBuilder = new Notification.Builder(this)
            .setContent(remoteViews);

    startForeground(mforegroundNotificationId, mBuilder.build());
}

其中 R.layout.custom_notification 是:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/notification_layout_root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#7777"
    android:padding="3dp" >

    <ImageView
        android:id="@+id/button_enable_alarm"
        android:layout_width="44dp"
        android:layout_height="44dp"
        android:layout_marginRight="10dp"
        android:contentDescription="Eye"
        android:src="@drawable/action_enable_alarm" />

    <TextView
        android:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="#FFF"
        android:textSize="24sp" />

</LinearLayout>

但是没有任何效果。我需要准确定制前台服务通知。不仅仅是 "fake" 服务通知。

问题已通过添加小图标值解决。完整代码:

Notification.Builder mBuilder = new Notification.Builder(this).setSmallIcon(R.drawable.custom_small_icon).setContent(remoteViews);