在我的應用程序中,我使用AsyncTask
下載大文件(300M +)。我注意到,當用戶關閉他們的屏幕(鎖定他們的設備)時,wifi將斷開連接並且下載將掛起。如何避免用戶在下載過程中關閉導致WiFi關閉的屏幕
我想知道是否有可能避免這種情況?
在我的應用程序中,我使用AsyncTask
下載大文件(300M +)。我注意到,當用戶關閉他們的屏幕(鎖定他們的設備)時,wifi將斷開連接並且下載將掛起。如何避免用戶在下載過程中關閉導致WiFi關閉的屏幕
我想知道是否有可能避免這種情況?
您需要在您的應用程序中實現WakeLock。喚醒鎖將喚醒屏幕關閉的CPU,並以正常方式執行操作。
寫在開始的AsyncTask先下去下面的代碼,
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP, "bbbb");
wl.acquire();
你需要寫上PostExecution()方法wl.release();
。並且您需要在AndroidManifest.xml中定義權限,如下所示:
<uses-permission android:name="android.permission.WAKE_LOCK" />
請勿保持屏幕亮起。 Firt看看DownloadManager類...如果你仍然使用asynctask搜索喚醒鎖(PowerManager類) – Selvin
DownloadManager僅在api級別支持9+。我無法使用它。 – hguser
還有http://developer.android.com/reference/android/net/wifi/WifiManager.WifiLock.html – Selvin