我的VOIP Android應用程序已經在C /本地庫,其不登錄的所有業務邏輯/註銷等UDP/RTCP包沒有到達設備/應用Whens設備屏幕被鎖定
問題與此是當設備屏幕被鎖定的應用程序(c代碼)無法從服務器接收任何數據包。我用Wireshark驗證了這一點。它看起來像CPU沒有運行。
我能夠解決在我的應用程序INIT下面做的問題。
WakeLock mWakeLock = null;
PowerManager pm = (PowerManager) cxt.getSystemService(Context.POWER_SERVICE);
if(mPartialWakeLock == null){
// lock used to keep the processor awake.
mPartialWakeLock = pm.newWakeLock(
PowerManager.PARTIAL_WAKE_LOCK
| PowerManager.ON_AFTER_RELEASE, TAG);
mPartialWakeLock.acquire;
}
但是,以上操作會耗盡我的電池。
爲什麼這些請求沒有到達我的應用程序?當屏幕被鎖定並接收來自服務器的請求時,我怎樣才能使設備CPU始終處於運行狀態?
注: EDITED 使用設備:三星智能橄欖球i847 操作系統:Android操作系統,v2.3.6(Gingerbread.UCLA4)
的應用程序的工作有關Galaxy S2(是不是因爲它的雙核處理器並且屏幕鎖定中的CPU已啓動?) SKYPE和VIBER如何將WRT設計爲睡眠模式?
使用喚醒電纜並排出電池;否則不要試圖做到這一點。或者決定C2DM是否能夠滿足您的需求。這是在電池上運行的折衷! –
C2DM不會爲我的事業服務..任何其他你可以建議克里斯! – NitZRobotKoder
也許你的設備有保存電池設置,當屏幕鎖定時關閉網絡? – xtr