我通过HttpURLConnection获取图像数据,现在第一次获取onPostexcute上的图像数据后,图像显示在imageview(onresume)中,但此时服务器更新图像数据(图像已更改),现在doinbackground不工作.i想要在服务器更改图像后立即更改图像视图图像。但它不能立即工作。我需要重新启动应用程序然后才能更改。我想立即更改图像帮助我
答案 0 :(得分:0)
你应该使用一个计时器来检查新的图像间隔,但缺点是它将对应用程序内存使用有很大贡献,如果它做太多的工作可以冻结应用程序,但这不太可能发生在Android设备上来自 LOLLIPOP 及以上
...
import java.util.Timer;
import java.util.TimerTask;
...
Timer timer = new Timer();
...
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
//load you image from url to image view
}, 1000, 2000);
...
退出程序时别忘了取消计时器
或者你可以选择使用Service,但它可能对你的工作来说太多了,你可以在你的应用程序中使用该服务来获得更多功能
...
import android.content.BroadcastReceiver;
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
//load you image from url to image view
}
}
注意:不要忘记取消注册活动中的服务。 您也可以按照@xenolion
的建议查看Firebase Cloud Messaging