0
我的问题: 在MainActivity中,我开始通过XML Parser从Internet下载一些数据。该数据显示在我的应用程序的每个屏幕上。它就像一个数据库。检测当前前台活动并重新加载它
在下载和保存数据时,应用程序的用户可以浏览洞应用程序。如果下载和保存数据完成,我想检测并重新加载当前的前景活动。我需要这样做,以显示新的数据。
我可以使用ActivityManager检测当前活动,并可以使用ComponentName和startActivity(Intent.makeMainActivity(componentName))方法来启动它,但是当我使用ActionBar-返回按钮。 我这样做的AsyncTasks onPostExecute法下载数据后。
任何想法怎么办呢?
protected void onPostExecute(MainActivity.UrlParams result) {
Toast.makeText(result.contextMain, "Daten wurden erfolgreich aktualisiert!", Toast.LENGTH_LONG).show();
//Aktualisiert aktive Activity damit die neuen Daten angezeigt werden!
ActivityManager am = (ActivityManager) result.contextMain.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
Log.d("topActivity", "CURRENT Activity ::" + taskInfo.get(0).topActivity.getClassName());
ComponentName componentInfo = taskInfo.get(0).topActivity;
componentInfo.getPackageName();
Intent intent = Intent.makeMainActivity(componentInfo);
result.contextMain.startActivity(intent);
//myApp.getCurrentActivity().set
}
有一个名为'''EventBus''的库,可以为你做到这一点,它很棒。如果你不想使用这个库,托马斯建议的是最好的方法。 – danypata
谢谢,但有一个简单的方法来做到这一点? – Goetti
随着danypata提到,你可以使用'EventBus'库。我认为这是最简单,最好的方法,没有任何黑客和模糊代码 –