應用下載及自動安裝
阿新 • • 發佈:2019-02-19
package com.example.lcr.updateversion; import android.content.Intent; import android.net.Uri; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.Toast; import com.lidroid.xutils.HttpUtils; import com.lidroid.xutils.exception.HttpException; import com.lidroid.xutils.http.HttpHandler; import com.lidroid.xutils.http.ResponseInfo; import com.lidroid.xutils.http.callback.RequestCallBack; import java.io.File; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); downLoad(); } /** * 下載檔案 * @param */ private void downLoad() { HttpUtils http = new HttpUtils(); File file = Environment.getExternalStorageDirectory(); HttpHandler handler = http.download("http://csdn-app.csdn.net/csdn.apk", file+"/aaa.apk", new RequestCallBack<File>() { @Override public void onStart() { Log.i("lcr","開始"); } @Override public void onLoading(long total, long current, boolean isUploading) { Log.i("lcr","下載"); } @Override public void onSuccess(ResponseInfo<File> responseInfo) { File file = responseInfo.result; Log.i("lcr",file.toString()); installApk(file); } @Override public void onFailure(HttpException error, String msg) { Log.i("lcr","失敗"); } }); } /** * 安裝檔案 */ private void installApk(File file){ if (!file.exists()) { return; } // 通過Intent安裝APK檔案 Intent i = new Intent(Intent.ACTION_VIEW); i.setDataAndType(Uri.parse("file://" + file.toString()), "application/vnd.android.package-archive"); startActivity(i); } }