我有一个使用AsyncTasks对服务器进行REST调用的应用程序.每当AsyncTask完成时,它都会:显示错误对话框/调用下一个活动(如果应用程序在前台)或什么也不做(应用程序在后台).
我这样做是为了避免在将应用程序发送到后台后弹出一个活动.
我见过一些实现:
目前我正在使用另一个,甚至更简单:
你会推荐哪个?
PS我知道这个视频中描述的REST调用的最佳实践https://www.youtube.com/watch?v=xHXn3Kg2IQE&list=PL73AA672847DC7B35,在我的具体情况下,这种方法似乎更合适.
private boolean isAppForground() {
ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> l = mActivityManager
.getRunningAppProcesses();
Iterator<RunningAppProcessInfo> i = l.iterator();
while (i.hasNext()) {
RunningAppProcessInfo info = i.next();
if (info.uid == getApplicationInfo().uid && info.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND)
{
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)