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

Moh*_*d H 2 notifications android custom-controls

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

在此处输入图片说明

据我所知,正常通知必须具有 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());
Run Code Online (Sandbox Code Playgroud)

错误:

android.app.RemoteServiceException: Bad notification posted from package com.example.x: Couldn't expand RemoteViews for: StatusBarNotification
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

Com*_*are 5

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

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

为什么?

因为就是这么RemoteViews写的。您仅限于某些小部件和容器

我该怎么做才能发出自定义通知?

重新设计它以不涉及EditText.

更新:在 Android 7.0+ 上,您可以使用MessagingStylewithRemoteInputNotification. 这不符合问题的要求,但它是最接近的选项。

  • @JakeWilson801:是的,这是 Android 7.0+ 设备的一个选项。 (3认同)