android app內部更新適配到8 0

2021-08-20 09:47:59 字數 1931 閱讀 5784

步驟:

int versioncode = 0;

try catch (namenotfoundexception e)

request = new downloadmanager.request(uri.parse(url));

// 設定通知欄標題

request.setnotificationvisibility(downloadmanager.request.visibility_visible_notify_completed);

request.settitle("一儒快遞");//

request.setallowedoverroaming(false);

request.allowscanningbymediascanner();// 可被**掃瞄到

request.setvisibleindownloadsui(true);// 可見和管理

filepath = dir.tostring() + "/" + "insurework" + getversioncode() + ".apk";

// 設定檔案存放目錄

request.setdestinationinexternalfilesdir(this, environment.directory_downloads, "insurework" + getversioncode() + ".apk");

did = downmanager.enqueue(request);

intentfilter filter = new intentfilter();

filter.addaction(downloadmanager.action_download_complete);

filter.addaction(downloadmanager.action_notification_clicked);

receiver = new downloadcompletereceiver();

registerreceiver(receiver, filter);

@override

protected void ondestroy()

自定義的廣播接收者,在接收者中作版本適配

private class downloadcompletereceiver extends broadcastreceiver  else if (version.sdk_int >= version_codes.o)  else , constent.new_8_0_request);

}} else

} catch (exception e)

}} else if (intent.getaction().equals(

downloadmanager.action_notification_clicked))

}}

其中8.0系統需要申請許可權

@override

public void onrequestpermissionsresult(int requestcode, @nonnull string permissions, @nonnull int grantresults)

}

7.0以上自動安裝邏輯

private void installapk()
內容提供者:res下新建xml資料夾,新建file_paths.xml檔案

<?xml version="1.0" encoding="utf-8"?>

在androidmanifest.xml設定provide

結束。

android app版本更新簡介

一 訪問伺服器,獲取最新版的版本資訊 獲取服務端版本號 public static int getversion string url fos.flush in.close fos.close fileinputstream fis new fileinputstream file 對版本檔案進行x...

Android app內更新,相容7 0

2018 01 09 haoshiwei 相容7.0 public class downloadutils public void downloadapk string url,string name private broadcastreceiver receiver new broadcastr...

Android App 更新的實現方法

首先軟體更新需要判斷是否需要更新。如果需要更新,需要獲取更新的鏈結。我們可以把這個看成乙個簡單的系統。需要客戶端請求和服務端相應。2 這樣簡單的伺服器端就可以了。獲取軟體系統版本號 try catch namenotfoundexception e 有的時候,我們可能需要獲取手機系統的一些資料,用來...