当我尝试为通知使用一些自定义布局时,我遇到了一个令人作呕的例外。我已经裁剪了图像和2个文本视图的通知,以方便解决方案的查找,但它仍然不会工作。所有类似问题的建议都于事无补(((
这是广播接收机的代码:
public class ReminderOccurredReceiver extends BroadcastReceiver {
public ReminderOccurredReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
PreferencesWrapper mPrefs = PreferencesWrapper.getWrapper(context);
boolean uses12HourClock = mPrefs.getIfUse12HourClock();
Uri soundUri = Uri.parse(mPrefs.getSoundUri());
String serializedReminder = intent.getStringExtra("reminder");
Reminder reminder = new Gson().fromJson(serializedReminder, Reminder.class);
Intent editIntent = new Intent(context, EditReminderActivity.class);
editIntent.putExtra("serializedReminder", serializedReminder);
PendingIntent pEditIntent = PendingIntent.getActivity(context, reminder.getDbId(), editIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews notificationView = new RemoteViews(context.getPackageName(), R.layout.notification_layout);
notificationView.setImageViewResource(R.id.notif_image, R.drawable.ic_launcher);
notificationView.setTextViewText(R.id.notif_message, reminder.getMessage());
notificationView.setTextViewText(R.id.notif_time, reminder.getFormattedTZTime(uses12HourClock));
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setAutoCancel(true)
.setSmallIcon(R.drawable.ic_launcher)
.setTicker(reminder.getMessage())
.setContent(notificationView)
.setContentIntent(pEditIntent);
// .setSound(soundUri)
NotificationManager nManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
nManager.notify(reminder.getDbId(), builder.build());
}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="@dimen/notification_height"
android:padding="3dp"
>
<ImageView android:id="@+id/notif_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
/>
<TextView android:id="@+id/notif_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/notif_image"
android:textSize="17sp"
android:singleLine="true"
/>
<TextView android:id="@+id/notif_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/notif_image"
android:layout_alignParentBottom="true"
/>
</RelativeLayout>
在Nexus4@4.4.4上测试
崩溃的原因是在固定高度的通知布局提供,我记得。只有match_parent
可用。我敢打赌,这甚至在某个地方的文件上都有说明,而我只是忽略了它。
这是我的代码: 有谁能帮我解决这个问题吗
我在Android中做了这类通知,但不知怎么得到了以下类型的异常。请帮我解决这个问题。我已经为rootview使用了height 64dp,这是通知的自定义视图。然后使用notificationCompat生成器中的setContent设置此自定义视图。
致命异常:Android.app.RemoteServiceException从包xxx发布的错误通知:无法展开以下内容的RemoteViews:StatusBarNotification(PKG=xxx User=UserHandle{0}ID=1 Tag=null Score=0:notification(PRI=0 ContentView=xxx/0x1090065震动=null Sound
有时我的应用程序会出现这种异常: 代码创建通知:
描述 (Description) 虽然,将使用JavaScript添加通知,但有必要了解它们以进行自定义样式。 当您添加通知时,Framework7将向body添加特殊notifications div以及列表块。 此案例的通知布局如下所示 - <body> ... <div class = "notifications list-block media-list"> <u