我正在尝试创建一个简单的大通知,但我找不到我做错了什么。 甚至没有出现通知。
编辑:好的,我发现了一些问题,但它没有完全正常工作。
这是我用来分离lyaout(简单灰线)的View的一个问题。我删除它并将TextView更改为常规TextView,它现在显示我的布局,但它已被剪切,我无法看到所有的布局。
我使用.setCustomContentView(remoteViews)
来设置rmoteView。如果我使用.setCustomBigContentView(remoteViews)
它会显示空通知,而不是布局。
为什么.setCustomBigContentView(remoteViews)
不起作用?
为什么我无法使用自定义TextView
?
这是我的简单代码:
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.notification_add_driver_layout);
remoteViews.setImageViewResource(R.id.notifAddDriverIcon, R.drawable.my_trips_new);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setCustomBigContentView(remoteViews)
.setAutoCancel(true);
notificationManager.notify(3, builder.build());
这是我的“notification_add_driver_layout”布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="140dp">
<ImageView
android:id="@+id/notifAddDriverIcon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
app:srcCompat="@drawable/my_trips_new" />
<TextView
android:id="@+id/notifAddDriverTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/notifAddDriverIcon"
android:layout_marginStart="21dp"
android:layout_toEndOf="@+id/notifAddDriverIcon"
android:text="Need to update driver details"
android:textSize="18sp" />
<TextView
android:id="@+id/notifAddDriverSubtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/notifAddDriverTitle"
android:layout_below="@+id/notifAddDriverTitle"
android:layout_marginTop="6dp"
android:text="From one place to another\n in sunday 05.02.2017 at 09:00" />
<!--<View-->
<!--android:id="@+id/separator"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="2dp"-->
<!--android:layout_alignStart="@+id/notifAddDriverSubtitle"-->
<!--android:layout_below="@+id/notifAddDriverSubtitle"-->
<!--android:layout_marginStart="12dp"-->
<!--android:layout_marginTop="19dp"-->
<!--android:background="@color/chat_view_call_stroke" />-->
<RelativeLayout
android:id="@+id/notifAddDriverButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_below="@+id/notifAddDriverSubtitle"
android:layout_centerHorizontal="true">
<TextView
android:id="@+id/notifAddDriverText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="17dp"
android:layout_toEndOf="@+id/imageView4"
android:layout_weight="1"
android:text="update details"
android:textSize="18sp" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_weight="1"
app:srcCompat="@drawable/ic_reply" />
</RelativeLayout>
</RelativeLayout>
谢谢!
答案 0 :(得分:2)
必填通知内容 Notification对象必须包含以下内容:
你没有2和3。
检查this
编辑:
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setCustomBigContentView(remoteViews)
.setContentTitle("My notification")
.setContentText("Hello World!");
.setAutoCancel(true);
并更改自定义TextView to regular
TextView`
答案 1 :(得分:1)