5

画面の向きが変わったときにアクティビティが再開しないようにしたい。古いSDKバージョンでは、configChanges="orientation"(マニフェストで)によって実行されていました。新しいバージョンscreenSizeでは追加されました。

私のminSdkは8、targetSdkは17で、奇妙な状況に陥っています。screenSizeをconfigChangesに入れることはできませんが(minSdkのため)、電話(4.1)は向きの変更時にアクティビティを破棄します(targetSdkのため)。 。

抜け道はありますか?古いSDKをターゲットにすることなく(ただし、minSdkのオプションとして保持することなく)、どういうわけかこの破壊を防ぐことができますか?

4

2 に答える 2

-1

ああ、私はついに解決策を見つけました:

android:configChanges="screenSize" を指定すると、eclipse が screenSize で xml 解析エラーを発生させるため、screenSize プロパティを使用して「既知の推奨ソリューション」に影響を与えることができない限り、targetSdkVersion で 12 以下を指定すると、Android OS は向きの変更時にアクティビティを再開しません。 . (また、サポートされている最大のSDKバージョンを特定するためにtargetSdkVersionを使用していたことも知りました。しかし、これについて再度調査したところ、maxSdkVersionがあります。)

したがって、この設定によって:

uses-sdk android:minSdkVersion="10" android:targetSdkVersion="12"
アンドロイド:maxSdkVersion="17"

...

android:configChanges="方向|..."

OS は方向の変更時にアクティビティを再開せず、アプリケーションは最小および最大の SDK バージョンを引き続きサポートしますが、上記の問題を解決するアクティビティを再起動しない SDK の最高バージョンである SDK 12 との互換モードで実行します。

于 2013-01-20T03:34:47.507 に答える