2012年2月26日 星期日

A bug in Reminder System V1.O

Bug-若手機有開啟自動旋轉螢幕設定,在本系統橫像掃描條碼後,再垂直觀看手機掃描分析後結果,可能會遇到無法獲得掃描結果(畫面跟掃)。

原因出在-自動旋轉螢幕會造成重新啟動該Activity,造成畫面無法更新分析後資訊在該Activity上,於AndroidManifest.xml中<activity>標籤中加入 android:screenOrientation="portrait"屬性,portrait為只能垂直螢幕觀看,landscape只能水平螢幕觀看。

一般來說,Android每次螢幕的切換動會重啟(on Restart)Activity,所以Activity銷毀(on Destroy)前會保存當前活動的資訊,等Activity再次on Create的時候載入資訊配置。
若Activity加上android:configChanges="keyboardHidden|orientation"屬性,就會停止重新啟動Activity.而是去調用public void onConfigurationChanged (Configuration newConfig)
因此我們可以在不用重新啟動Activity下調整顯示方式。

http://developer.android.com/guide/topics/manifest/activity-element.html#screen
http://developer.android.com/guide/topics/manifest/activity-element.html#config

沒有留言:

張貼留言