我正在尝试为我的应用创建一个通知,该通知可以在我点击它时更改其图标,标题和意图。
我可以在3:33看到它的可能性
https://www.youtube.com/watch?v=tKoQatxG0_8&index=73&list=PLOU2XLYxmsIIwGK7v7jg3gQvIAWJzdat_
但我无法找到办法。
另外,如果有人知道如何在链接中使用右手表上的暂停/播放图标,我也想知道。
先谢谢。
答案 0 :(得分:1)
您可以从notificationObj访问通知操作。操作
请尝试以下操作:(注意:以下代码尚不完整,但是可以使您了解如何更改操作图标)
Notification status = null;
private NotificationCompat.Builder mBuilder;
private NotificationManager mManager;
private final int STATUS_ID = 1;
private String CHANNEL_ID = "channel_name";
private void setUpNotification() {
mManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
int playOrPause;
if(isPlaying()) {
playOrPause = R.drawable.ic_pause;
} else {
playOrPause = R.drawable.ic_play;
}
if(mBuilder == null) {
//Setup Builder
mBuilder = new NotificationCompat.Builder(this, CHANNEL_ID);
mBuilder.setOngoing(true)
.addAction(playOrPause, "play", pendingIntent1) // Index 0
.addAction(R.drawable.ic_2, "text2", pendingIntent2) // Index 1
.addAction(R.drawable.ic_3, "text3", pendingIntent3);// Index 2
status = mBuilder.build();
} else {
//Update builder as per your needs
mBuilder.setContentTitle(title);
status = mBuilder.build();
status.actions[0] = new Notification.Action(playOrPause, "play", pendingIntent1);
}
startForeground(STATUS_ID, status);
}
答案 1 :(得分:0)
我能够通过访问builder.mActions来解决同样的问题。它是您添加的所有操作的ArrayList。我修改它而不重新创建构建器,并且调用build似乎更新了它。
这似乎没有在SDK中记录,但我现在对此感到满意。
如果我拿出别的东西,会告诉你
答案 2 :(得分:0)
根据@Sammer J的建议,我提出了以下解决方案。
s3_upload = s3.put_object( Bucket="aaa", Key="/Bbb/cc-cc/filename.png", Body=file_obj)