2

重複の可能性:
向きを変更しているときにフラッシュライトがオフになっている

私はAndroidアプリを構築しています。構成を変更すると、フラッシュライトが消えます。次に、もう一度[オン]ボタンをクリックしてオンにする必要があります。アプリでスイッチをオンのままにするにはどうすればよいですか?

4

3 に答える 3

0

android:configChanges="keyboardHidden|orientation"Androidマニフェストファイルでアクティビティに追加します。

于 2012-10-18T09:49:01.833 に答える
0

向きを変えると、アクティビティ全体が破棄され、新しいアクティビティが作成されます。つまり、アクティビティがフラッシュの現在の状態を失い、オフになります。

マニフェストで向きの変更を無効にしてみてください。そして、オンストップでflshの現在の状態を保存し、オンスタートで状態をリセットします。

これは私が信じるあなたのために働くでしょう。

于 2012-10-18T09:57:03.173 に答える
0

基本的な問題は、構成を変更するとデフォルトでアクティビティが再作成されるため、アクティビティで再帰管理を行う場合は、それを覚えておく必要があります。

2つの反対の解決策があります:

  1. android:configChangesたとえば、手動で処理する構成変更のアクティビティリストのマニフェストプロパティを追加して、構成変更時のアクティビティの再作成を無効にします"keyboardHidden|orientation|screenSize"screenSizeAdnroid 3.1以降で必要です)。この場合、メソッドonConfigurationChangedをオーバーライドすることで、構成の変更を処理できます。

  2. メソッドonSaveInstanceStateをオーバーライドし、バンドル内にアクティビティの状態を保存することにより、アクティビティの再作成を処理します。次に、onCreateパラメータsavedInstanceStateが設定されている場合(nullではない)、そのバンドルから状態を復元する必要があります(懐中電灯の状態を復元します)。

方法の選択は、アクティビティの設計によって異なります。

于 2012-10-18T10:03:03.617 に答える