admin管理员组文章数量:1585968
github https://github/AriaLyy/Aria
或者 github https://github/maning0303/MNUpdateAPK
compile 'com.arialyy.aria:aria-core:3.4.8'
annotationProcessor 'com.arialyy.aria:aria-compiler:3.4.8'
public class MainActivity extends AppCompatActivity {
String s="http://app.mi/download/634713";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String STORE_PATH= Environment.getExternalStorageDirectory()+"/apk/camerademo"+"/a.apk";
Aria.download(this)
.load(s) //读取下载地址
.setFilePath(STORE_PATH) //设置文件保存的完整路径
.start(); //启动下载
Aria.download(this).register();
}
//在这里处理任务执行中的状态,如进度进度条的刷新
@Download.onTaskRunning
protected void running(DownloadTask task) {
int p = task.getPercent(); //任务进度百分比
Log.e("ddddddddddddddddd",String.valueOf(p));
}
@Download.onTaskComplete
void taskComplete(DownloadTask task) {
//在这里处理任务完成的状态
Log.e("ddddddddddddddddd","下载完成");
String downloadPath = task.getDownloadPath();
Intent i = new Intent(Intent.ACTION_VIEW);
if (Build.VERSION.SDK_INT >= 24) { //适配安卓7.0
i.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION|Intent.FLAG_ACTIVITY_NEW_TASK);
Uri apkFileUri = FileProvider.getUriForFile(getApplicationContext(),
getPackageName()+".fileprovider", new File( downloadPath));
i.setDataAndType(apkFileUri, "application/vnd.android.package-archive");
} else {
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setAction(Intent.ACTION_VIEW);
i.setDataAndType(Uri.parse("file://" + downloadPath.toString()),
"application/vnd.android.package-archive");// File.toString()会返回路径信息
}
startActivity(i);
}
}
适配7.0 配置FileProvider
1 清单文件中加入
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.example.administrator.xiazai.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"/>
</provider>
2 创建文件夹
3 创建 file_paths
<?xml version="1.0" encoding="utf-8"?>
<paths>
<!--代表外部存储区域的根目录下的文件 Environment.getExternalStorageDirectory()/DCIM/camerademo目录-->
<external-path name="hm_DCIM" path="DCIM/camerademo" />
<external-path name="hm_DCIM" path="apk/camerademo" />
<!--代表外部存储区域的根目录下的文件 Environment.getExternalStorageDirectory()/Pictures/camerademo目录-->
<external-path name="hm_Pictures" path="Pictures/camerademo" />
<external-path name="hm_Pictures" path="Pictures/camerademo" />
<!--代表app 私有的存储区域 Context.getFilesDir()目录下的images目录 /data/user/0/com.hm.camerademo/files/images-->
<files-path name="hm_private_files" path="images" />
<files-path name="hm_private_files" path="apk.apk" />
<!--代表app 私有的存储区域 Context.getCacheDir()目录下的images目录 /data/user/0/com.hm.camerademo/cache/images-->
<cache-path name="hm_private_cache" path="images" />
<!--代表app 外部存储区域根目录下的文件 Context.getExternalFilesDir(Environment.DIRECTORY_PICTURES)目录下的Pictures目录-->
<!--/storage/emulated/0/Android/data/com.hm.camerademo/files/Pictures-->
<external-files-path name="hm_external_files" path="Pictures" />
<!--代表app 外部存储区域根目录下的文件 Context.getExternalCacheDir目录下的images目录-->
<!--/storage/emulated/0/Android/data/com.hm.camerademo/cache/images-->
<!--<external-cache-path name="hm_external_cache" path="" />-->
</paths>
版权声明:本文标题:安卓更新下载apk并安装 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727976536a1140718.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论