安卓在app中彈出apk的安裝提示框涨岁,其實(shí)可以理解為一種使用Intent的進(jìn)行apk文件的預(yù)覽拐袜。
在Android7.0以前,我們使用如下方法:
從Android 7.0之后梢薪,系統(tǒng)禁止我們的應(yīng)用對(duì)外部(跨越應(yīng)用分享)公開(kāi)"file://xxx"蹬铺,若使用"file://xxxx"格式共享文件則會(huì)報(bào)FileUriExposedException異常,這里我們使用FileProvider秉撇。
1.在 res/xml 目錄下新建一個(gè) filepaths.xml 文件(文件名自由定義)甜攀,并添加子目錄路徑信息
在paths節(jié)點(diǎn)內(nèi)部支持以下幾個(gè)子節(jié)點(diǎn),分別為:
- <root-path/> 代表設(shè)備的根目錄 new File("/");
- <files-path/> 代表 context.getFilesDir()
- <cache-path/> 代表 context.getCacheDir()
- <external-path/> 代表 Environment.getExternalStorageDirectory()
- <external-files-path>代表 context.getExternalFilesDirs()
- <external-cache-path>代表 getExternalCacheDirs()
每個(gè)節(jié)點(diǎn)都支持兩個(gè)屬性: - name
- path
-
在AndroidManifest.xml文件的application節(jié)點(diǎn)添加provider
- android:resource 即上面新建的filepaths文件
3.打開(kāi)安裝apk
綜上琐馆,完整的代碼如下: