http://lovezhou.iteye.com/blog/932847
?
?
?
???? 應(yīng)用軟件經(jīng)常會(huì)因?yàn)楣δ艿脑黾佣?jí),升級(jí)經(jīng)常是在客戶端給用戶升級(jí)的提示,然后用戶下載最新的apk程序包,軟件升級(jí)過程大多數(shù)需要在線完成。?
????? android 在線安裝apk程序包,主要用到系統(tǒng)自帶的apk安裝器進(jìn)行安裝。用到系統(tǒng)自帶的apk安裝器安裝apk包,首先需要在配置文件中加入權(quán)限聲明?
調(diào)用系統(tǒng)apk安裝器的主要代碼是:?
在正確url地址上下載下來apk后,先判斷下載下來的文件類型,然后通過apk安裝器即可安裝?
截圖:?
?
????? android 在線安裝apk程序包,主要用到系統(tǒng)自帶的apk安裝器進(jìn)行安裝。用到系統(tǒng)自帶的apk安裝器安裝apk包,首先需要在配置文件中加入權(quán)限聲明?
- <uses-permission?android:name= "android.permission.INTERNET" ></uses-permission>??
- <uses-permission?android:name= "android.permission.INSTALL_PACKAGES" ></uses-permission>??
- <uses-permission?android:name= "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ></uses-permission>??
- <uses-permission?android:name= "android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission??
調(diào)用系統(tǒng)apk安裝器的主要代碼是:?
- Intent?intent?=? new ?Intent();??
- ????intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);??
- ????intent.setAction(android.content.Intent.ACTION_VIEW);??
- ??????
- ???? /*?調(diào)用getMIMEType()來取得MimeType?*/ ??
- ????String?type?=?getMIMEType(f);??
- ???? /*?設(shè)置intent的file與MimeType?*/ ??
- ????intent.setDataAndType(Uri.fromFile(f),type);??
- ????startActivity(intent);???
在正確url地址上下載下來apk后,先判斷下載下來的文件類型,然后通過apk安裝器即可安裝?
截圖:?


- 2011-02-27 23:03
- 瀏覽 5363
- 評(píng)論(21)
- 收藏
- 分類: 移動(dòng)開發(fā)
- 相關(guān)推薦
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

評(píng)論
很有可能是apk有問題,可以單獨(dú)安裝apk試試,看能否成功
單獨(dú)安裝可以安裝,這個(gè)我試過了!
很有可能是apk有問題,可以單獨(dú)安裝apk試試,看能否成功
這種是覆蓋安裝,覆蓋安裝apk的時(shí)候,應(yīng)該不會(huì)刪掉數(shù)據(jù)庫文件,你可以試一下,沒測試過這個(gè),不敢肯定,不好意思哈
這個(gè)是調(diào)用系統(tǒng)的安裝器,所以都要彈出這個(gè)界面,如果調(diào)用系統(tǒng)的,暫時(shí)還不知道怎么跳過這一步,Android安裝應(yīng)用時(shí),都會(huì)給用戶提示
有好的方法再一起分享
把升級(jí)后的apk放到server上,客戶端可以每次讀取server的一個(gè)地址,從上面解析是否需要升級(jí),如果需要,再到指定的url上去下載apk在線安裝。
exp:server 的 url 中帶 update=1字段,客戶端每次請(qǐng)求這個(gè)url,可以改變update的值,雙方約定好
那這樣是不是意味著server一旦發(fā)布一個(gè)新的版本,就需要更新一次update值?
恩,一個(gè)參數(shù),不知道有沒有更好的辦法,我現(xiàn)在只想到了這個(gè)
不是更新updata的值,可以約定好,比如說只有是3的時(shí)候更新,就可以了
把升級(jí)后的apk放到server上,客戶端可以每次讀取server的一個(gè)地址,從上面解析是否需要升級(jí),如果需要,再到指定的url上去下載apk在線安裝。?
exp:server 的 url 中帶 update=1字段,客戶端每次請(qǐng)求這個(gè)url,可以改變update的值,雙方約定好
那這樣是不是意味著server一旦發(fā)布一個(gè)新的版本,就需要更新一次update值?
恩,一個(gè)參數(shù),不知道有沒有更好的辦法,我現(xiàn)在只想到了這個(gè)
把升級(jí)后的apk放到server上,客戶端可以每次讀取server的一個(gè)地址,從上面解析是否需要升級(jí),如果需要,再到指定的url上去下載apk在線安裝。?
exp:server 的 url 中帶 update=1字段,客戶端每次請(qǐng)求這個(gè)url,可以改變update的值,雙方約定好
那這樣是不是意味著server一旦發(fā)布一個(gè)新的版本,就需要更新一次update值?
把升級(jí)后的apk放到server上,客戶端可以每次讀取server的一個(gè)地址,從上面解析是否需要升級(jí),如果需要,再到指定的url上去下載apk在線安裝。
exp:server 的 url 中帶 update=1字段,客戶端每次請(qǐng)求這個(gè)url,可以改變update的值,雙方約定好
apk簽名要相同,否則無法覆蓋安裝
嗯,謝謝,你這里的簽名相同,指的是私鑰???還是別的什么?
key
apk簽名要相同,否則無法覆蓋安裝
嗯,謝謝,你這里的簽名相同,指的是私鑰???還是別的什么?
apk簽名要相同,否則無法覆蓋安裝
可以啊,當(dāng)時(shí)我們就是server和client約定的
暫時(shí)沒找到辦法判斷,我們之前做的是把新的apk直接放到url地址上,下載