關于進度條進行到50多或者70多的時候就變為負數,那是因為這里老師定義的長度均用int型,而下載的文件可能過大,超過了int進行相除的位數,導致結果顯示為負數。
解決方法為:在計算下載百分比的時候先把已下載的長度和文件的總長度轉化為long型進行相除計算,再轉化為int型廣播出去,進而設置進度條。
解決方法為:在計算下載百分比的時候先把已下載的長度和文件的總長度轉化為long型進行相除計算,再轉化為int型廣播出去,進而設置進度條。
2016-09-25
最贊回答 / 慕虎8944750
如果是bindservice啟動,當前activity銷毀,service就銷毀了,下載會失?。tartservice是啟動的service不會隨activity的銷毀而銷毀
2016-09-17
有些bug,比如:1.最后到達百分之一百的時候也要發送廣播,解決方案:在MainActivity中直接設置進度為100,或者在while(){}后面添加廣播語句intent.putExtra("finished",mFinised*100/mThreadInfo.getEnd());mContext.sendBroadcast(intent);2.狂點下載會出現多次下載。而且根本無法暫停。解決方法:在DownloadService中添加/*是否正在下載*/private boolean isDownloading = false;接下來相信聰明的你應該知道怎么做(onStartCommand)
最新回答 / Lavi_La
http://down.360safe.com/yunpan/360wangpan_setup_6.5.6.1288.exe360云盤客戶端的下載地址
2016-09-01
if (intent.getAction().equals(DownloadService.ACTION_UPDATE)) {
int finished = intent.getExtras().getInt("finished");
if (mPbProgress.getProgress() != finished) {
Log.d(TAG, "finished:" + finished);
mPbProgress.setProgress(finished);
}
}
int finished = intent.getExtras().getInt("finished");
if (mPbProgress.getProgress() != finished) {
Log.d(TAG, "finished:" + finished);
mPbProgress.setProgress(finished);
}
}
2016-08-18
最新回答 / 慕移動9181930
我也是碰到這個問題了的,下面是我的解決辦法,shexyptebhbvusougjmcrxjumkbffqdlsdgftdcylfiouqxzdmabzvercuxxzvovtmmvwohoxqmgtxnafykkwdpovonztolxvmgrfrqsbdzjtvqvlfic
2016-08-09
很多人手機上是沒有sdk卡的。老師這個答案是拿到sd卡的路徑。
部分手機是不對的。
比如魅族Environment.getExternalStorageDirectory()即可,就是拿到已有的內存。再拿后面的就會報錯。
因為后面那個方法getabsolutepath();一般情況下是拿手機外置路徑的。大家多查閱自己的機型,選擇適合自己的方法、
部分手機是不對的。
比如魅族Environment.getExternalStorageDirectory()即可,就是拿到已有的內存。再拿后面的就會報錯。
因為后面那個方法getabsolutepath();一般情況下是拿手機外置路徑的。大家多查閱自己的機型,選擇適合自己的方法、
2016-08-02
最新回答 / onceeeeday
DownloadTask.javapackage services;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.List;import java....
2016-07-27