我有恢复我的应用程序的问题 - 当它由于其他东西打开而进入后台时(例如我打电话打开导航的意图),或者因为手机睡觉;返回后(另一个活动关闭或电话被唤醒)我的应用程序仍然在后台,onResume从未被调用(日志中没有错误,没有)。为什么会发生这种情况,我怎样才能摆脱这种行为,我应该从哪里开始看?
public class MainActivity extends ...v4.app.FragmentActivity implements FewMyListeners {
. . .
private Locator locator;
@Override
public void onResume() {
super.onResume();
try {
locator = new Locator(this);
} catch (NoLocationProviderFoundException e) {
showLocationSettingsDialog();
}
refreshLocation();
}
@Override
protected void onPause() {
if(locator != null) {
locator.removeUpdates(false);
locator = null;
}
dismissProgressDialog();
super.onPause();
}
}
public class Locator implements LocationSource, LocationListener { . . . }
答案 0 :(得分:6)
这是有史以来最愚蠢的“虫子” - noHistory设定为真。将其重置为假就是诀窍:
<activity
android:name=".MainActivity"
android:noHistory="false">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 1 :(得分:1)
确保您已在覆盖的super.onResume()
方法中调用onResume()
方法