gpt4 book ai didi

java - NotificationCompat.Builder 中的 setLargeIcon() 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 12:56:01 24 4
gpt4 key购买 nike

使用 YouTube API,当我调用时:

新的 DownloadImageTask(activity, i, notificationDetails).execute(notificationDetails.get(i).getThumbUri())

对于这个类:

public class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {

private int currentIndex;
private LoginActivity activity;
private ArrayList<VideoData> notifyDetails;
private String urlDisplay;

public DownloadImageTask(LoginActivity activity, int notificationDetailsIndex, ArrayList<VideoData> notificationDetails){
currentIndex = notificationDetailsIndex;
this.activity = activity;
this.notifyDetails = notificationDetails;
}

@Override
protected Bitmap doInBackground(String... urls){
urlDisplay = urls[0];
Bitmap image = null;
InputStream in = null;

try{
in = new java.net.URL(urlDisplay).openStream();
image = BitmapFactory.decodeStream(in);
} catch(Exception e){
Log.e("Error decoding bitmap", Log.getStackTraceString(e));
}finally{
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return image;
}

@Override
protected void onPostExecute(Bitmap image){
Log.d("bitmap value", String.valueOf(image))
VideoData video = notifyDetails.get(currentIndex);
activity.notificationBuilder(video.getTitle(), video.getVideoChannelTitle(), image);
}
}
}

onPostExecute() 中的 Log.d() 方法返回如下内容:

D/bitmap value﹕ android.graphics.Bitmap@41180d60

我想设置一个带有大图标的通知,但它不起作用。这是 Activity 类中的通知方法:

public void notificationBuilder(String videoTitle, String channelTitle, Bitmap largeBitmap){
NotificationCompat.Builder mBuilder;
Log.d("Bitmapdrawable set", ""+ String.valueOf(largeBitmap));
mBuilder = new NotificationCompat.Builder(this)
.setLargeIcon(largeBitmap)
.setContentTitle(channelTitle + " uploaded a video")
.setContentText(videoTitle);

Intent resultIntent = new Intent(this, LoginActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(LoginActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(
0, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) this.getSystemService(
Context.NOTIFICATION_SERVICE);

mNotificationManager.notify(1, mBuilder.build());
}

我在 logcat 中得到的以下错误显示“忽略带有图标==0 的通知”,即使 notificationBuilder() 方法的第三行:(Log.d("Bitmapdrawable set", ""+ String.valueOf(largeBitmap)); 返回: D/Bitmapdrawable set﹕android.graphics.Bitmap@41433b80 in logcat.

2191-2191/system_process E/NotificationService﹕ Ignoring notification with icon==0: Notification(pri=0 contentView=com.myapp/0x109008f vibrate=null sound=null defaults=0x0 flags=0x0 kind=[null])

最佳答案

您还需要调用 setSmallIcon()

关于java - NotificationCompat.Builder 中的 setLargeIcon() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20183897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com