2

私は一口電話を作成しました。電話画面がオンになっていて、着信があれば、すべて問題ありません。onStart() が呼び出され、onDestroy() が呼び出されないことを意味します。だから私は電話に出ることができます。ただし、電話画面がオフのときに着信があった場合。onStart() が呼び出され、onDestroy() も呼び出されていることがわかります。Android プロセスがこのアクティビティを自動的に強制終了することがわかります。

この問題は android 2.3 バージョンにはありません。私はこれを最新バージョンで見ました。

解決策はありますか? 私の onDestroy() メソッドは呼び出されるべきではありません。アクティビティから出たときにのみ呼び出す必要があります。

4

4 に答える 4

4

はい、画面が内部的に「縦」に変更されるため、画面「横」のみを使用すると問題が発生します。

これを防ぐために、onDestroy()画面がONまたはOFFになった場合に呼び出します。

  1. AndroidManifest.xml属性を持つファイルに追加し"orientation|screenSize"ます。
  2. onConfigurationChanged()アクティビティにメソッドを追加

AndroidManifest.xml

<activity
   …
   android:screenOrientation="landscape"
   android:configChanges="keyboardHidden|orientation|screenSize">

そしてあなたの活動に追加してください:

…
@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
}
于 2013-07-15T17:22:29.587 に答える