Кто бы ни сталкивался с этой проблемой, т. Е. Вам нужна ссылка на текущую активную деятельность, здесь нет реального решения.Единственный способ - вы сами это отслеживаете, используя глобальный.Да, использование глобального - действительно не лучший способ для программирования на Android, но я думаю, что это менее затратно.
Вот что я сделал:
Расширение всей моей деятельности из одной базовой деятельности:MotherOfAllActivities.
public class MotherOfAllActivities extends Activity {
public void onCreate(...) {
globalCurrentActivity = this;
........
}
public void onResume() {
globalCurrentActivity = this;
........
}
public void onPause() {
if (globalCurrentActivity == this)
globalCurrentActivity = null;
}
// And, don't forget about onActivityResult(). It can come before onResume()
// of the calling activity and after onPause() of the called activity. That is,
// there is a window when globalCurrentActivity is null.
public void onActivityResult() {
globalCurrentActivity = this;
}
}
Не стреляйте в меня, если вам не нравится этот ответ.Я просто пытаюсь поделиться с людьми тем, что работает для меня, по крайней мере, пока.