2012-03-30 25 views
14

Khi tôi bấm phím nguồn, màn hình sẽ tắt (hoàn toàn tối), hệ thống phá hủy hoạt động của tôi và sau đó tái tạo lại nó:Hoạt động Vòng đời X nút Power X Lock Screen

03-28 22:48:00.934: V/[BB](5809): [GameControl] onPause 
03-28 22:48:01.444: V/[BB](5809): [GameControl] onDestroy 
03-28 22:48:01.724: V/[BB](5809): [GameControl] onCreate 
03-28 22:48:03.016: V/[BB](5809): [GameControl] onResume 
03-28 22:48:03.016: V/[BB](5809): [GameControl] onPause 

này được gây ra bởi vì hoạt động của tôi có định hướng cố định (ngang) và màn hình khóa là dọc.

Tôi đã thử nghiệm lý thuyết này bằng cách đặt định hướng dọc cố định và sự cố không xảy ra. Tôi cũng đã kiểm tra các giá trị getResources(). GetConfiguration():

{ scale=1.0 imsi=724/31 loc=pt_BR touch=3 keys=2/1/1 nav=1/1 orien=2 layout=17 uiMode=17 seq=36} 
{ scale=1.0 imsi=724/31 loc=pt_BR touch=3 keys=2/1/1 nav=1/1 orien=1 layout=17 uiMode=17 seq=37} 
{ scale=1.0 imsi=724/31 loc=pt_BR touch=3 keys=2/1/1 nav=1/1 orien=2 layout=17 uiMode=17 seq=38} 

Làm cách nào để tránh điều đó? Tôi không muốn hoạt động của mình bị phá hủy bởi màn hình khóa!

+0

Tôi không biết câu trả lời cụ thể nhưng bạn nên luôn luôn giả định rằng khi hoạt động của bạn không còn hoạt động, nó có thể bị hệ thống giết chết mà không cần cảnh báo. – Simon

+0

@thiagolr xin vui lòng cho tôi biết chính xác những gì đã xảy ra khi bạn nhấn nút nguồn? Màn hình của bạn là hoàn toàn tối? bạn có thể xem hoạt động của bạn sau đó không? – minhaz

+0

Có, màn hình tắt (hoàn toàn tối) và các nhật ký trên đã xảy ra (trong khi màn hình tắt). – thiagolr

Trả lời

10

Giải pháp là để thêm

android:configChanges="orientation|keyboardHidden|screenSize" 

vào yếu tố <activity> của bạn trong AndroidManifest.xml của bạn.

+2

Nếu bạn đang nhắm mục tiêu API cấp 13 trở lên, bạn sẽ cần android: configChanges = "orientation | screenSize". Lưu ý rằng nếu minsdk của bạn nhỏ hơn 13, nó sẽ không nhận ra "screenSize", do đó, tùy chọn duy nhất là giảm SDK mục tiêu của bạn xuống mức tối thiểu. Điều này gây phiền toái vì nó buộc ứng dụng của bạn có thanh menu phần mềm ở cạnh màn hình. –

Các vấn đề liên quan