0

アプリで向きの変化をキャプチャするのに問題があります。デバイスの向きが変わったときにアプリフォームが再起動しないようにしたい。

私のアプリには3つのアクティビティがあります(3つ目はFragmentActivityです)。主なユーザーインタラクションはFragmentActivityを介して行われます。

すべてのアクティビティが次の属性を持つようにマニフェストを変更しました。

android:configChanges="orientation"

また、すべてのアクティビティでメソッドをオーバーライドし、onConfigurationChanged()実際に呼び出されるかどうかを確認するために、Log.i()ステートメントを含めましたが、何も報告されていません。

私は現在エミュレーターでこれをテストしており、CTRL+F12を実行すると向きの変化が報告されます。

I / ActivityManager(67):構成が変更されました:{scale = 1.0 imsi = 310/260 loc = en_US touch = 3 keys = 2/1/2 nav = 3/1 orien = 1 layout = 34 uiMode = 17 seq = 10}

私が見逃しているものはありますか?

4

1 に答える 1

6

から: http://developer.android.com/guide/topics/resources/runtime-changes.html

Caution: Beginning with Android 3.2 (API level 13), the "screen size" also changes when the device switches between portrait and landscape orientation. Thus, if you want to prevent runtime restarts due to orientation change when developing for API level 13 or higher (as declared by the minSdkVersion and targetSdkVersion attributes), you must include the "screenSize" value in addition to the "orientation" value. That is, you must decalare android:configChanges="orientation|screenSize". However, if your application targets API level 12 or lower, then your activity always handles this configuration change itself (this configuration change does not restart your activity, even when running on an Android 3.2 or higher device).

于 2012-06-10T08:47:23.300 に答える