ウェブサーバーから画像を読み込んで、Android widget
. 画像が変更される可能性があるため、ウィジェットも60分ごとに更新しようとしています。イメージもあるはずclickable
です。クリック可能な部分はボタンで完全に機能していましたが、レイアウトで代わりに ImageView に変更すると、クリック部分が機能しなくなります。そして、画像をまったくロードできません。これが私のコードです
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
Toast.makeText(context, "onUpdate", Toast.LENGTH_SHORT).show();
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);
Intent i = new Intent(context, LoadPage.class);
i.setAction(ACTION_WIDGET_LOAD);
PendingIntent pi = PendingIntent.getActivity(context, 0, i, 0);
remoteViews.setOnClickPendingIntent(R.id.button, pi);
appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
Timer timer = new Timer();
timer.scheduleAtFixedRate(new MyButton(context, appWidgetManager), 1, 5000);
}
private class MyButton extends TimerTask {
RemoteViews remoteViews;
AppWidgetManager appWidgetManager;
ComponentName thisWidget;
public MyButton(Context context, AppWidgetManager appWidgetManager) {
this.appWidgetManager = appWidgetManager;
remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);
thisWidget = new ComponentName(context, ButtonWidget.class);
}
@Override
public void run() {
Bitmap buttonimg = null;
try {
String name = "http://badams.ca/otwstats/get_stats.php?user=badams";
URL url_value = new URL(name);
buttonimg = BitmapFactory.decodeStream(url_value.openConnection().getInputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
i++;
remoteViews.setBitmap(R.id.button, "setButton", buttonimg);
appWidgetManager.updateAppWidget(thisWidget, remoteViews);
}