2011-01-07 44 views
1

我有一項將文件上傳到服務器的服務。我獲得了一個wifilock,但是如果服務使用3G,我需要部分喚醒鎖嗎?Android中的部分喚醒鎖適用於

+0

請分享您的部分喚醒鎖碼。因爲我有問題。 – 2011-03-01 14:35:57

回答

2

WakeLock是保持屏幕無效的方式。相反,使用WindowManager來完成這個魔術。下面的一行就足夠了WakeLock。 WakeLock權限不需要這個工作。此代碼也比WakeLock有效。

getWindow().addFlags(LayoutParams.FLAG_KEEP_SCREEN_ON); 

您不需要手動喚醒WakeLock。此代碼將允許Android系統自動處理鎖定。當您的應用程序處於前臺時,WakeLock被保持,否則android系統會自動釋放鎖。

3

是的。否則,設備可能會在您的上傳過程中入睡。

+0

該設備確實睡着了,但我測試了半小時的應用程序(從usb拔下),並繼續上傳,所以仍然有點困惑,但我想在安全的一面,我應該獲得鎖? – 2cupsOfTech 2011-01-07 23:06:32

+0

@Tabish:真的嗎?我知道3G連接上的傳入數據包會喚醒手機。這可能有助於保持設備在這種情況下的清醒。不過,我會使用`WakeLock`來保證安全。 – CommonsWare 2011-01-07 23:10:24