私の要件は、Retrofitを使用してURLからビットマップをダウンロードする必要があり、通知アイコンに設定する必要があります。私はどんなファイルやフォルダにもダウンロードしたくない。私は直接通知アイコンに戻りビットマップを使用したいと思います。私が間違っていたところPLSの助けRetrofitを使用して通知アイコンに設定してURLから画像をダウンロードする方法
マイコード:
if (photourl != null) {
if ((photourl.endsWith(".jpg") || photourl.endsWith(".png") || photourl.endsWith(".jpeg"))) {
if(messageType!=6 && messageType!=7){
RoundCornerImg RCIMG = new RoundCornerImg();
bm = RCIMG.getRoundedRectBitmap(getImageBitmap(photourl), 10);
}else{
bm = getImageBitmap(photourl);
}
photo_flag = true;
}
}
取得イメージビットマップ方式:
private Bitmap getImageBitmap(String url) {
Call<ResponseBody> call=RetroApiCall.getNotificationImage(url);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if (response.isSuccessful()) {
bitmap =BitmapFactory.decodeStream(response.body().byteStream());
}else{
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
if (Build.VERSION.SDK_INT >= 20) {
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.notification);
}
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
return bitmap;
}
ありがとう!ここで誤って変換方法getImageBitmapビットマップで
yはピカソを使用していませんか? – Ak9637
ピカソとグライドの場合、目標の画像ビューをスパイシーにする必要があります。そうでない場合は、画像の幅と高さを指定する必要があります。複数のデバイスの幅を指定すると問題が発生する可能性があります – sree
ターゲットインターフェイスを使用してビットマップを取得し、そのビットマップを使用することができます – Ak9637