RemoteServiceException:发布了错误的通知。无法扩展RemoteViews:StatusBarNotification

时间:2017-06-17 13:01:18

标签: android android-notifications remoteview

我在Android中发出此类通知,但不知何故得到以下类型的异常。请帮我解决这个问题。我使用高度64dp作为rootview,这是通知的自定义视图。然后使用notificationCompat构建器中的setContent设置此自定义视图。

<?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="64dp"
    android:layout_marginLeft="@dimen/marginBig"
    android:layout_marginRight="@dimen/marginBig">

    <ImageView
        android:id="@+id/mg_logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="12dp"
        android:src="@drawable/mg_round_image"/>

    <TextView
        android:id="@+id/mg_emergency"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@id/mg_logo"
        android:layout_toRightOf="@id/mg_logo"
        android:text="@string/mg_emergency_card"
        android:textAppearance="@style/P1.Medium.Vermillion"/>

    <TextView
        android:id="@+id/call_ambulance"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/mg_emergency"
        android:layout_alignParentRight="true"
        android:layout_marginLeft="4dp"
        android:layout_marginRight="@dimen/marginBig"
        android:clickable="true"
        android:text="@string/call_ambulance"
        android:textAllCaps="true"
        android:textAppearance="@style/P3.Bold.Vermillion"/>

    <TextView
        android:id="@+id/vertical_line"
        android:layout_width="1dp"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/mg_logo"
        android:layout_alignTop="@id/call_ambulance"
        android:layout_toLeftOf="@id/call_ambulance"
        android:background="@color/divider_line">
    </TextView>

    <TextView
        android:id="@+id/emergency_contact_number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/mg_emergency"
        android:layout_below="@id/mg_emergency"
        android:layout_marginRight="8dp"
        android:layout_toLeftOf="@id/vertical_line"
        android:lines="2"
        android:text="@string/my_emergency_contact"
        android:textAppearance="@style/P2.Regular.Grey2"
        tools:text="My Emergency Contact Manisha- 0987654321"/>

    <TextView
        android:id="@+id/horizontal_line"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@id/vertical_line"
        android:background="@color/divider_line">
    </TextView>

    <TextView
        android:id="@+id/send_alert_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/call_ambulance"
        android:layout_below="@id/call_ambulance"
        android:layout_marginTop="8dp"
        android:clickable="true"
        android:text="@string/send_alerts"
        android:textAllCaps="true"
        android:textAppearance="@style/P3.Bold.Primary"/>
</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

这个问题的答案很愚蠢....我只是将rootview(相对布局)的余量从@ dimen / marginBig更改为硬代码(16dp),并且工作正常。 @M_AWADI在这篇文章中回答android - Bad notification posted - Couldn't expand RemoteViews for: StatusBarNotification帮助我实现了目标。