android 无界面通过开机下载
16lz
2021-01-23
android 无界面通过开机下载
FileDownLoadReceiver
package com.wjl.download;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.widget.Toast;public class FileDownLoadReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {//Toast.makeText(context, "启动服务", 1).show();Intent s = new Intent(context, DownLoadServices.class);context.startService(s);}}
DownLoadServices
package com.wjl.download;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import android.app.Service;import android.content.Intent;import android.os.IBinder;public class DownLoadServices extends Service {@Overridepublic IBinder onBind(Intent intent) {return null;} @Override public void onCreate() { super .onCreate(); String url ="http://down.hotxz.com/soft/?softid=10047&downid=69&id=10166";String savaSrc = "/sdcard/wjl/";String saveName = "hehe.exe";download(url, savaSrc, saveName); } public void download(final String url,final String savaSrc,final String saveName){ new Thread(new Runnable() {private int size;@Overridepublic void run() {try{ URL sourceUrl = new URL(url);HttpURLConnection conn = (HttpURLConnection) sourceUrl.openConnection();//int responseCode = conn.getResponseCode();//if (responseCode == 200) {File savePath = new File(savaSrc);if (!savePath.exists()) {savePath.mkdirs();}File saveFile = new File(savePath+"/"+ saveName);if ( saveFile.exists()) {saveFile.delete();saveFile.createNewFile();}else{saveFile.createNewFile();}int fileSize = conn.getContentLength();InputStream inputStream = conn.getInputStream();FileOutputStream fos = new FileOutputStream(saveFile);byte buf[] = new byte[1024];do {int numread = inputStream.read(buf);if (numread <= 0) {break;} size+=numread;fos.write(buf, 0, numread);} while (true);inputStream.close();fos.close(); }catch (Exception e) {} }}).start(); } }
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.wjl.download" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <service android:name ="DownLoadServices" /> <receiver android:name=".FileDownLoadReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <category android:name="android.intent.category.HOME" /> </intent-filter> </receiver> <receiver android:name=".FileDownLoadReceiver"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver></application> <uses-sdk android:minSdkVersion="5" /> <!-- 在SDCard中创建与删除文件权限 --><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><!-- 往SDCard写入数据权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><!-- 访问internet权限 --><uses-permission android:name="android.permission.INTERNET"/></manifest>
更多相关文章
- Android常用布局之LinearLayout(线性布局)仿酷狗登录界面
- Android 界面中隐藏项目名称
- Android 界面编程
- Android自定义权限
- Android改变wifi状态必须要的权限
- Android点击事件之后跳到界面指定位置
- android界面无标题栏和全屏效果的实现方式
- Android界面布局开发使用的标签介绍
- Android 系统完整的权限列表