创建自定义通知,包括编辑文本 android

Create custom notification including Edit text android

我想创建一个自定义通知来直接从这样的通知中回复短信:

据我所知,普通通知的高度必须为 64dp,但您可以使用 API >16 中更大的通知作为可扩展通知,但我认为 64dp 高度适合我的情况。我使用了这段代码,但是当我的自定义通知布局有编辑文本时它崩溃了:

RemoteViews remoteViews = new RemoteViews(getPackageName(),R.layout.widget);
                NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
                        .setSmallIcon(R.mipmap.ic_launcher)
                        .setContent(remoteViews);
                Intent resultIntent = new Intent(context, MainActivity.class);
                TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
                stackBuilder.addParentStack(MainActivity.class);
                stackBuilder.addNextIntent(resultIntent);
                PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);
                NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                mNotificationManager.notify(100, mBuilder.build());

错误:

android.app.RemoteServiceException: Bad notification posted from package com.example.x: Couldn't expand RemoteViews for: StatusBarNotification

我该怎么办?

Create custom notification including Edit text android

您不能将 EditText 小部件放入 Notification、应用小部件或任何其他使用 RemoteViews.

的小部件中

why?

因为RemoteViews就是这么写的。您仅限 certain widgets and containers.

what should I do to make that custom notification?

重新设计它不涉及 EditText

UPDATE:在 Android 7.0+ 上,您可以使用 MessagingStyleRemoteInput 来接受来自 Notification。这不符合问题的要求,但它是最接近的选项。