0
我創建了小部件,現在我想下載圖像並使用小部件圖像。這是我的代碼,但無法在小部件中顯示我的下載圖像。Android小部件圖像中的Android顯示圖像
RemoteViews views;
int appWidgetId;
public File file;
public Bitmap bitmap;
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if (CLOCK_WIDGET_UPDATE.equals(intent.getAction())) {
Toast.makeText(context, "onReceiver()", Toast.LENGTH_LONG).show();
}
}
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
final int N = appWidgetIds.length;
for (int i = 0; i < N; i++) {
appWidgetId = appWidgetIds[i];
Intent intent = new Intent(context, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
intent, 0);
views = new RemoteViews(context.getPackageName(),
R.layout.widget_demo);
String aa = (MainActivity.itemList.get(0)
.get(MainActivity.KEY_title)).toString();
views.setOnClickPendingIntent(R.id.widgetPic, pendingIntent);
views.setOnClickPendingIntent(R.id.widgetDesc, pendingIntent);
views.setTextViewText(R.id.widgetDesc, aa);
String ab = (MainActivity.itemList.get(0)
.get(MainActivity.KEY_image)).toString();
// views.setImageViewUri(R.id.widgetPic, Uri.parse(ab));
new DownloadTask().execute("http://api.androidhive.info/images/sample.jpg");
// views.setImageViewBitmap(
// R.id.widgetPic,
// ((BitmapDrawable) context.getResources().getDrawable(
// R.drawable.aaaaaaaaaaaaaaa)).getBitmap());
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
public void updateAppWidget(Context context,
AppWidgetManager appWidgetManager, int appWidgetId) {
RemoteViews updateViews = new RemoteViews(context.getPackageName(),
R.layout.widget_demo);
try {
} catch (Exception e) {
}
appWidgetManager.updateAppWidget(appWidgetId, updateViews);
}
private Bitmap downloadUrl(String strUrl) throws IOException {
Bitmap bitmap = null;
InputStream iStream = null;
try {
URL url = new URL(strUrl);
HttpURLConnection urlConnection = (HttpURLConnection) url
.openConnection();
urlConnection.connect();
iStream = urlConnection.getInputStream();
bitmap = BitmapFactory.decodeStream(iStream);
} catch (Exception e) {
Log.d("Exception while downloading url", e.toString());
} finally {
iStream.close();
}
return bitmap;
}
private class DownloadTask extends AsyncTask<String, Integer, Bitmap> {
Bitmap bitmap = null;
@Override
protected Bitmap doInBackground(String... url) {
try {
bitmap = downloadUrl(url[0]);
} catch (Exception e) {
Log.d("Background Task", e.toString());
}
return bitmap;
}
@Override
protected void onPostExecute(Bitmap result) {
views.setImageViewBitmap(R.id.widgetPic, result);
// Toast.makeText(getBaseContext(),
// "Image downloaded successfully",Toast.LENGTH_SHORT).show();
}
}
}
如何使用setImageViewUri顯示此圖像?如果有人知道解決方案,請幫助我。謝謝