邢台企业做网站的公司,微信微信,丹阳火车站对面规划,wordpress 怎么改字体大小应用场景#xff1a;在检查版本更新的时候经常需要从服务器端下载然后安装到手机中 使用工具#xff1a; XUtils#xff0c;这个开源的框架真的是需要花大把时间去阅读和理解的#xff0c;十分有用的#xff0c;on the way #xff01; fighting#xff01; 下载#x… 应用场景在检查版本更新的时候经常需要从服务器端下载然后安装到手机中 使用工具 XUtils这个开源的框架真的是需要花大把时间去阅读和理解的十分有用的on the way fighting 下载github中关键字搜索即可download 1 //google提供的保留地址不会随着电脑ip地址的变化而改变测试ip地址2 private static final String mDownloadUrl http://10.0.2.2:8080/xxx.apk;3 4 protected void downloadApk() {5 6 if (Environment.getExternalStorageState().equals(7 Environment.MEDIA_MOUNTED)) {8 //下载apk到sd的路径9 String sdPath Environment.getExternalStorageDirectory()
10 .getAbsolutePath() File.separator xxx.apk;
11 HttpUtils httpUtils new HttpUtils();
12
13 httpUtils.download(mDownloadUrl, sdPath,
14 new RequestCallBackFile() {
15
16 Override
17 public void onStart() {
18 Log.i(tag, 开始下载);
19 super.onStart();
20 }
21
22 Override
23 public void onLoading(long total, long current,
24 boolean isUploading) {
25 Log.i(tag, 正在下载中);
26 Log.i(tag, total total);
27 Log.i(tag, current current);
28 super.onLoading(total, current, isUploading);
29 }
30
31 Override
32 public void onSuccess(ResponseInfoFile responseInfo) {
33 Log.i(tag, 下载完成);
34 //获取下载好的文件路径
35 File file responseInfo.result;
36 //安装apk
37 installApk(file);
38
39 }
40
41 Override
42 public void onFailure(HttpException error, String msg) {
43 Log.i(tag, 下载失败);
44 }
45
46 });
47 }
48 } View Code 通过隐式意图去实现下载 通过查询源码把下面代码抠出来 /** intent-filter action android:nameandroid.intent.action.VIEW /* category android:nameandroid.intent.category.DEFAULT / * data android:schemecontent / data android:schemefile / * data android:mimeTypeapplication/vnd.android.package-archive /* /intent-filter*/然后就是一个简单的隐式意图开启Activity的过程 protected void installApk(File file) {Intent intent new Intent();intent.setAction(android.intent.action.VIEW);intent.addCategory(android.intent.category.DEFAULT);/** intent.setData(Uri.fromFile(file));* intent.setType(application/vnd.android.package-archive);*/ //与被注释代码等价但推荐使用下述方法被注释方法存在一个finish问题intent.setDataAndType(Uri.fromFile(file),application/vnd.android.package-archive);startActivity(intent);}//卸载应用的方法同上找到对应的源码查看安卓系统是怎么实现的 intent-filteraction android:nameandroid.intent.action.VIEW /action android:nameandroid.intent.action.DELETE /category android:nameandroid.intent.category.DEFAULT /data android:schemepackage /
/intent-filter //同上开启意图即可 protected void uninstall(){ Intent intent new Intent();intent.setAction(Intent.ACTION_DELETE); intent.addCategory(android.intent.category.DEFAULT);intent.setData(Uri.parse(package:包名));startActivity(intent);
}转载于:https://www.cnblogs.com/adv-qbj/p/4715274.html