AndroidAuto:自定义操作的图标未显示
创始人
2024-10-06 10:03:09
0
  1. 确保图标资源文件被正确命名并放置在drawable文件夹下。
  2. 使用 NotificationCompat.BuildersetAutoAction() 方法设置操作项时,确保将正确的资源ID传递给 setCustomAction() 方法的第二个参数。 例如:
NotificationCompat.Action customAction = new NotificationCompat.Action.Builder(
            R.drawable.ic_custom_action, "Custom Action",
            customActionPendingIntent).build();

NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID)
            .setSmallIcon(R.drawable.ic_notification)
            .setContentTitle("My Notification Title")
            .setContentText("This is my notification content.")
            .setAutoAction(customAction);
  1. 如果您是使用 RemoteViews 创建自定义通知布局,请确保使用 setImageViewResource() 方法将正确的图标资源 ID 分配给操作项图标视图。例如:
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.my_custom_notification);
remoteViews.setImageViewResource(R.id.custom_action_icon, R.drawable.ic_custom_action);

// Set custom action
Intent customActionIntent = new Intent(this, MyBroadcastReceiver.class);
customActionIntent.setAction("com.example.CUSTOM_ACTION");
PendingIntent customActionPendingIntent = PendingIntent.getBroadcast(this, 0, customActionIntent, PendingIntent.FLAG_UPDATE_CURRENT);

remoteViews.setOnClickPendingIntent(R.id.custom_action_button, customActionPendingIntent);

NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID)
            .setSmallIcon(R.drawable.ic_notification)
            .setContentTitle("My Notification Title")
            .setContentText("This is my notification content.")
            .setCustomContentView(remoteViews);

相关内容

热门资讯

Android Recycle... 要在Android RecyclerView中实现滑动卡片效果,可以按照以下步骤进行操作:首先,在项...
安装apache-beam==... 出现此错误可能是因为用户的Python版本太低,而apache-beam==2.34.0需要更高的P...
Android - 无法确定任... 这个错误通常发生在Android项目中,表示编译Debug版本的Java代码时出现了依赖关系问题。下...
Android - NDK 预... 在Android NDK的构建过程中,LOCAL_SRC_FILES只能包含一个项目。如果需要在ND...
Akka生成Actor问题 在Akka框架中,可以使用ActorSystem对象生成Actor。但是,当我们在Actor类中尝试...
Agora-RTC-React... 出现这个错误原因是因为在 React 组件中使用,import AgoraRTC from “ago...
Alertmanager在pr... 首先,在Prometheus配置文件中,确保Alertmanager URL已正确配置。例如:ale...
Aksnginxdomainb... 在AKS集群中,可以使用Nginx代理服务器实现根据域名进行路由。以下是具体步骤:部署Nginx i...
AddSingleton在.N... 在C#中创建Singleton对象通常是通过私有构造函数和静态属性来实现,例如:public cla...
Alertmanager中的基... Alertmanager中可以使用repeat_interval选项指定在一个告警重复发送前必须等待...