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 に答える