1
이미지를 만들고 있습니다. 알림.Universal-Image-Loader in Service를 사용하는 방법?
GCM을 사용하여 푸시합니다. 그리고 GCM에서 이미지 URI를 보냅니다.
서비스가 안드로이드 응용 프로그램에서 URI를 가지고있을 때, Universal-Image-Loader가 URI에서 이미지를로드하려고합니다.
그러나이 경우에, 나는 오류가 있어요 : 이것은 아래의 서비스에서 내 코드
java.lang.IllegalStateException: ImageLoader.displayImage(...) must be invoked from the main thread or from Looper thread
입니다 :
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()).build();
ImageLoader imageloader = ImageLoader.getInstance();
//ImageLoader.getInstance().destroy();
imageloader.init(config);
imageloader.loadImage(img_url, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
notificationWithBigPicture(GcmIntentService.this, PUSH_TITLE, PUSH_CONTENT, R.drawable.ic_stat_gcm, loadedImage, GcmMain.class);
}
});
public void notificationWithBigPicture(Context context, String title, String message, int icon, Bitmap banner, Class<?> activityClass) {
Log.i(TAG,"6666");
Intent intent = new Intent(context, activityClass);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setSmallIcon(icon)
.setTicker(title)
.setContentTitle(title)
.setContentText(message)
.setAutoCancel(true);
NotificationCompat.BigPictureStyle style = new NotificationCompat.BigPictureStyle();
//style.setBigContentTitle(title);
//style.setSummaryText(message);
style.bigPicture(banner);
builder.setStyle(style);
builder.setContentIntent(pendingIntent);
builder.setDefaults(Notification.DEFAULT_VIBRATE);
builder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(NOTIFICATION_ID, builder.build());
Log.v("9999","");
}
하지만 코드 흐름이 완료 onLoading 방법 공개 무효가 될 때() , 앱이 사라지고 오류가 표시됩니다.
무엇이 문제입니까?
아마도'loadImageSync (...)'가 더 적합할까요? – NOSTRA
감사합니다! 나는 너, Nostras에 의해이 문제를 정확하게 해결한다. 당신이 만든 거 알아! – LKM