3

我在恢复我的应用程序时遇到问题 - 当它由于其他打开的东西(例如我调用意图打开导航)或手机休眠而进入后台时;返回后(另一个活动关闭或手机唤醒)我的应用程序仍然在后台,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 { . . . }
4

2 回答 2

7

这是有史以来最愚蠢的“错误”——noHistory 设置为 true。将其重置为 false 成功了:

    <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>
于 2013-06-12T20:11:51.733 回答
1

确保您已super.onResume()在覆盖的方法中调用了该onResume()方法

于 2013-04-19T10:54:44.877 回答