1. 程式人生 > >apk安裝法之二----一段Android實現應用下載並自動安裝apk包的程式碼

apk安裝法之二----一段Android實現應用下載並自動安裝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);
        }

 


相關推薦

apk安裝----Android實現應用下載自動安裝apk程式碼

protected File downLoadFile(String httpUrl) { // TODO Auto-generated method stub final String fileName = "updata.apk";

Android實現應用下載自動安裝apk

安裝: String str = "/CanavaCancel.apk"; String fileName = Environment.getExternalStorageDirectory() + str; Intent intent = new Intent(In

Android實現版本更新和自動安裝

直接執行的專案和打包的專案apk簽名不同,所以不能直接用開發工具執行專案進行版本更新.需要用apk打包安裝的形式更新,否則會提示"簽名衝突",無法完成覆蓋安裝 /** 版本更新 */ public class SplashActivity extends Activit

Android實現圖片下載保存SD卡

tex on() puts show sta exc method pat bit 一、首先獲取圖片 //第一種獲取圖片的方法 1 String filePath = downloadUrl; 2 //以下是取得圖片的方法 3 取得的是InputStream,直接

應用下載自動安裝

package com.example.lcr.updateversion; import android.content.Intent; import android.net.Uri; import android.os.Environment; import andr

每日算十六:Substring with Concatenation of All Words

i++ 清空 article 多個 串匹配 -m ++ 每次 class 變相的字符串匹配 給定一個字符串,然後再給定一組同樣長度的單詞列表,要求在字符串中查找滿足下面條件的起始位置: 1)從這個位置開始包括單詞列表中全部的單詞。且每一個單詞僅且必須出現一次。 2)在出

python 10大算 LogisticRegression 筆記

hive ase pan tab style ade panda span uci 會使用的包 import matplotlib.pyplot as plt import pandas as pd import numpy as np 獲取數據 方式一: df

本地安裝SonarQube——安裝SonarQube

pan .org can sca nal pla download ocs sonar 1. 下載軟件 安裝 SonarQube https://www.sonarqube.org/downloads/ 安裝SonarQube Scanners https

信息摘要算:SHA1算分析及實現

專家 臨時 總結 tro sha-1 即使 img md4 stand SHA算法,即安全散列算法(Secure Hash Algorithm)是一種與MD5同源的數據加密算法,該算法經過加密專家多年來的發展和改進已日益完善,現在已成為公認的最安全的散列算法之一,並被廣泛使

VMware安裝CentOS——最小化安裝CentOS

VMware CentOS 1、上文已經創建了一個虛擬機,現在我們點擊開啟虛擬機。2、虛擬機進入到安裝的界面,在這裏我們選擇第一行,安裝或者升級系統。3、這裏會提示要檢查光盤,我們直接選擇跳過。 4、這裏會提示我的硬件設備不被支持,點擊OK,實際對安裝使用沒有影響的,其他電腦沒有出現這個提示。5

APK反編譯:工具介紹

www 權限 nap 一段時間 rmi 麻煩 -s HR 逆向 作者:lpohvbe | http://blog.csdn.net/lpohvbe/article/details/7983907 前面一節我們說過,修改APK最終是通過修改smali來實現的,所以我們接下來

python kayb算組序列當中獲取組與目標值最接近的算

需要 提高 pla 微信 分享 __main__ main pytho clas python kayb算法之從一組序列當中獲取一組與目標值最接近的算法 思想:1.考慮所有序列當中的所有元素相遇的情況進行叠代2.在叠代過程當中維護一個與目標數值的最小差值3.在叠代完之後剩

Android流媒體開發:Camera2採集攝像頭原始資料手動預覽

Android Camera2採集攝像頭原始資料並手動預覽 最近研究了一下android攝像頭開發相關的技術,也看了Google提供的Camera2Basic呼叫示例,以及網上一部分程式碼,但都是在TextureView等預覽基礎上實現,而我想要做的是在不預覽的情況下,能獲取到攝

安裝系統 UEFI和Legacy及UEFI+Legacy啟動的區別

uefi和legacy是兩種不同的引導方式, uefi是新式的BIOS,legacy是傳統BIOS。你在UEFI模式下安裝的系統,只能用UEFI模式引導;同理,如果你是在Legacy模式下安裝的系統,也只能在legacy模式下進系統。uefi只支援64為系統且磁碟分割槽必須為gpt模式,傳統BIOS

CENTOS7安裝MYSQL8

說明,本想將下面的和之一合起來,結果寫好了,圖片放好了,無法釋出也無法草稿儲存,只好匯出,現在貌似好了,重新放上圖片釋出 新的一天開始, 先開機後看看MYSQL是否開機自動開啟,輸入 systemctl status mysqld.service 成功! 接下來就是密碼的設定了

Centos 中Sonar + Jenkins 安裝準備 ----Mysql & Jenkins

接著上面一篇安裝準備之一 Mysql安裝 1. 下載 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 2.遠端拷貝mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz到Centos機器上 3.解壓縮 

下一代HTML5插入視訊video或者插入視訊的外掛

效果: 程式碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>逆水行舟不進則退</titl

Linux的opencv教程載入視訊

按照之前的內容,在debain系統的nanopi上執行測試成功 在/home/fa/opencv3/opencv_test的路徑下建立一個目錄 mkdir cvdisframe //建立工作目錄 依然在該目錄下新建cvdisframe.cpp和CMakeLists.txt兩個檔案

【COCOS2DX-IOS-遊戲開發 最熱血的RPG+RTS塔防遊戲Flesh&Blood-Attack on Orc上線了

我們的新遊戲Flesh&Blood – Attack on Orc  中文名:血肉之軀 正式在AppStore上線了,是一款熱血的塔防RTS遊戲,同時支援iPhone和iPad AppStore下載地址: 目前是收費的,過兩天限免的時候我會第一時間通知大家的. 

android程式反編譯次打包的過程

在安全界有一句話叫不懂攻,焉知防。 前幾天看到有一個問題在問Android端目前防止二次打包的方法有哪些?我想從攻擊的角度來說這個問題。在分析過程中講解每一步都有哪些防範手段。下面以一個市面上大公司的app為例,講一下我是怎麼繞過它的防範機制,修改程式碼(