2
我有一個應用程序下載一個非常大的文件(超過50MB)。不幸的是,我收到了下載失敗的報告。在Android下載較大的文件
下面是一個這樣的故障的logcat,以java.net.SocketException: The operation timed out
結尾。它之間有來自WifiMonitor
的各種消息。我不知道如何解釋這些消息。
有什麼特別的,我應該做下載一個大文件,或者這只是一個連接問題?
09-02 16:41:19.925 I/ActivityManager( 646): Displayed activity com.example/com.example.sp.MainActivity: 1110 ms (total 3786 ms)
09-02 16:41:21.935 W/InputManagerService( 646): Window already focused, ignoring focus gain of: [email protected]
09-02 16:41:23.495 I/global (7345): Default buffer size used in BufferedInputStream constructor. It would be better to be explicit if an 8k buffer is required.
09-02 16:41:23.895 D/dalvikvm(7345): GC freed 5348 objects/307096 bytes in 160ms
09-02 16:41:25.885 D/dalvikvm(7345): GC freed 15282 objects/713544 bytes in 124ms
09-02 16:41:27.405 D/dalvikvm(7345): GC freed 11775 objects/524576 bytes in 131ms
09-02 16:41:28.982 I/wpa_supplicant(7284): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
09-02 16:41:28.985 V/WifiMonitor( 646): Event [CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys]
09-02 16:41:28.985 V/WifiStateTracker( 646): New network state is DISCONNECTED
09-02 16:41:28.985 I/wpa_supplicant(7284): CTRL-EVENT-STATE-CHANGE id=0 state=0
09-02 16:41:28.985 V/WifiMonitor( 646): Event [CTRL-EVENT-STATE-CHANGE id=0 state=0]
09-02 16:41:28.995 V/WifiStateTracker( 646): Changing supplicant state: COMPLETED ==> DISCONNECTED
09-02 16:41:29.086 I/wpa_supplicant(7284): CTRL-EVENT-STATE-CHANGE id=0 state=2
09-02 16:41:29.086 V/WifiMonitor( 646): Event [CTRL-EVENT-STATE-CHANGE id=0 state=2]
09-02 16:41:29.086 V/WifiStateTracker( 646): Changing supplicant state: DISCONNECTED ==> SCANNING
09-02 16:41:29.086 W/wpa_supplicant(7284): Failed to initiate AP scan.
09-02 16:41:29.095 I/wpa_supplicant(7284): CTRL-EVENT-SCAN-RESULTS Ready
09-02 16:41:29.095 I/wpa_supplicant(7284): Trying to associate with 00:1c:f0:6e:2a:56 (SSID='WLANR' freq=2412 MHz)
09-02 16:41:29.095 E/wpa_supplicant(7284): Set_key: Wrong Key
09-02 16:41:29.095 E/wpa_supplicant(7284): Set_key: Wrong Key
09-02 16:41:29.095 E/wpa_supplicant(7284): Set_key: Wrong Key
09-02 16:41:29.095 E/wpa_supplicant(7284): Set_key: Wrong Key
09-02 16:41:29.095 E/wpa_supplicant(7284): Set_key: Wrong Key
09-02 16:41:29.095 I/wpa_supplicant(7284): CTRL-EVENT-STATE-CHANGE id=0 state=3
09-02 16:41:29.105 V/WifiMonitor( 646): Event [Trying to associate with 00:1c:f0:6e:2a:56 (SSID='WLANR' freq=2412 MHz)]
09-02 16:41:29.105 V/WifiMonitor( 646): Event [CTRL-EVENT-STATE-CHANGE id=0 state=3]
09-02 16:41:29.125 V/WifiStateTracker( 646): Changing supplicant state: SCANNING ==> ASSOCIATING
09-02 16:41:29.825 I/wpa_supplicant(7284): CTRL-EVENT-STATE-CHANGE id=0 state=4
09-02 16:41:29.825 V/WifiMonitor( 646): Event [CTRL-EVENT-STATE-CHANGE id=0 state=4]
09-02 16:41:29.825 V/WifiStateTracker( 646): Changing supplicant state: ASSOCIATING ==> ASSOCIATED
09-02 16:41:29.825 I/wpa_supplicant(7284): Associated with 00:1c:f0:6e:2a:56
09-02 16:41:29.825 I/wpa_supplicant(7284): CTRL-EVENT-STATE-CHANGE id=0 state=7
09-02 16:41:29.825 I/wpa_supplicant(7284): CTRL-EVENT-CONNECTED - Connection to 00:1c:f0:6e:2a:56 completed (reauth) [id=0 id_str=]
09-02 16:41:29.825 I/wpa_supplicant(7284): wpa_supplicant - IPC_EVENT_AUTH_SUCC
09-02 16:41:29.825 V/WifiMonitor( 646): Event [Associated with 00:1c:f0:6e:2a:56]
09-02 16:41:29.825 V/WifiMonitor( 646): Event [CTRL-EVENT-STATE-CHANGE id=0 state=7]
09-02 16:41:29.845 V/WifiStateTracker( 646): Changing supplicant state: ASSOCIATED ==> COMPLETED
09-02 16:41:29.855 V/WifiMonitor( 646): Event [CTRL-EVENT-CONNECTED - Connection to 00:1c:f0:6e:2a:56 completed (reauth) [id=0 id_str=]]
09-02 16:41:29.855 V/WifiStateTracker( 646): New network state is CONNECTED
09-02 16:41:29.865 D/WifiStateTracker( 646): Deconfiguring interface and stopping DHCP
09-02 16:41:29.865 E/wpa_supplicant(7284): prepare_filter_struct: type=5
09-02 16:41:29.945 E/FileUtils(7345): Download failed
09-02 16:41:29.945 E/FileUtils(7345): java.net.SocketException: The operation timed out
如果問題是睡眠模式,是不是應該使用getWindow()。addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)來使用\t \t?是否真的有必要請求WifiLock下載大文件? – hpique 2010-09-02 20:37:45
因爲這會燒燬電池,所以您不會希望保持屏幕不變。取而代之的是獲取WIFI鎖,讓服務/任務運行直到完成,然後釋放它。它最終沒有太多的代碼。 – 2010-09-24 12:29:02