Android自定义前台服务通知

时间:2015-02-07 14:24:29

标签: android android-service

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

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>

但它没有任何效果。我需要自定义前台服务通知。不只是&#34;假的&#34;服务通知。

1 个答案:

答案 0 :(得分:3)

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

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