参考上一篇博客:https://blog.csdn.net/cf8833/article/details/93905187
上一篇博客说到,如何在activity中下载文件,今天把程序改一下,在service中下载文件
服务需要注册,源码全部贴出来了,需要源码的给我留言
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".DownloadService"/>
<service android:name=".MyServer"/>
1.MainActivity启动服务
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button5:
startService(new Intent(getApplicationContext(),DownloadService.class));
break;
}
}
2.下载apk,主要就是把之前的线程,移植到了onCreate里面,注意,服务的启动两种方式startService 和 bindService,不管哪种方式启动,都会执行onCreate方法,我们把线程放到onCreate中即可
package com.example.administrator.testz;
import android.app.Service;
import android.content.Intent;
import android.os.Environment;
import android.os.IBinder;
import android.print.PrinterId;
import android.support.annotation.Nullable;
import android.widget.Toast;
import java.io.File;
import cn.finalteam.okhttpfinal.FileDownloadCallback;
import cn.finalteam.okhttpfinal.HttpRequest;
/**
* Created by wrs on 2019/9/17,16:59
* projectName: Testz
* packageName: com.example.administrator.testz
*/
public class DownloadService extends Service {
p