• Android 实现apk文件下载并自动安装


    //下载apk程序代码
     protected File downLoadFile(String httpUrl) {
                     // TODO Auto-generated method stub
                     final String fileName = "updata.apk";
                     File tmpFile = new File("/sdcard/update");
                     if (!tmpFile.exists()) {
                             tmpFile.mkdir();
                     }
                     final File file = new File("/sdcard/update/" + fileName);
     
                    try {
                             URL url = new URL(httpUrl);
                             try {
                                     HttpURLConnection conn = (HttpURLConnection) url
                                                     .openConnection();
                                     InputStream is = conn.getInputStream();
                                     FileOutputStream fos = new FileOutputStream(file);
                                     byte[] buf = new byte[256];
                                     conn.connect();
                                     double count = 0;
                                     if (conn.getResponseCode() >= 400) {
                                             Toast.makeText(Main.this, "连接超时", Toast.LENGTH_SHORT)
                                                             .show();
                                     } else {
                                             while (count <= 100) {
                                                     if (is != null) {
                                                             int numRead = is.read(buf);
                                                             if (numRead <= 0) {
                                                                     break;
                                                             } else {
                                                                     fos.write(buf, 0, numRead);
                                                             }
     
                                                    } else {
                                                             break;
                                                     }
     
                                            }
                                     }
     
                                    conn.disconnect();
                                     fos.close();
                                     is.close();
                             } catch (IOException e) {
                                     // TODO Auto-generated catch block
     
                                    e.printStackTrace();
                             }
                     } catch (MalformedURLException e) {
                             // TODO Auto-generated catch block
     
                            e.printStackTrace();
                     }
     
                    return file;
             }
     //打开APK程序代码
     
    private void openFile(File file) {
                     // TODO Auto-generated method stub
                     Log.e("OpenFile", file.getName());
                     Intent intent = new Intent();
                     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                     intent.setAction(android.content.Intent.ACTION_VIEW);
                     intent.setDataAndType(Uri.fromFile(file),
                                     "application/vnd.android.package-archive");
                     startActivity(intent);
             }
  • 相关阅读:
    openstack常见问题
    30 个 Openstack 经典面试问题和解答
    linux系统内存爆满的解决办法!~
    iostat详解
    线上应用故障排查之一:高CPU占用
    对OpenStack运维架构的总结(转)
    zabbix基本监控各指标简解
    创建 OpenStack云主机
    centos7系统中忘记了root管理员账号密码的解决方式(转)
    MySQL高可用架构之MHA
  • 原文地址:https://www.cnblogs.com/wangsx/p/2440721.html
Copyright © 2020-2023  润新知