Android安裝apk文件并適配Android 7.0詳解
Android安裝apk文件并適配Android 7.0詳解
首先在AndroidManifest.xml文件,activity同級節(jié)點注冊provider:
<provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.file_provider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> </provider>
將apk文件下載到此路徑:
String cachePath = ( getExternalFilesDir("upgrade_apk") + File.separator + getPackageName() + ".apk");
在res目錄xml文件夾下創(chuàng)建名為file_paths的文件:upgrade_apk代表上面保存路徑的文件夾名稱,可隨意更改,相同即可。
<?xml version="1.0" encoding="utf-8"?> <paths> <external-files-path name="bga_upgrade_apk" path="upgrade_apk" /> </paths>
最后編寫代碼,區(qū)分不同Android系統(tǒng)版本號,安裝apk(注意:【com.apkinstall.demo】要替換自己應(yīng)用的包名)
/** * 安裝 apk 文件 * * @param apkFile */ public void installApk(File apkFile) { Intent installApkIntent = new Intent(); installApkIntent.setAction(Intent.ACTION_VIEW); installApkIntent.addCategory(Intent.CATEGORY_DEFAULT); installApkIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) { installApkIntent.setDataAndType(FileProvider.getUriForFile(getApplicationContext(), "com.apkinstall.demo.file_provider", apkFile), "application/vnd.android.package-archive"); installApkIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); } else { installApkIntent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive"); } if (getPackageManager().queryIntentActivities(installApkIntent, 0).size() > 0) { startActivity(installApkIntent); } }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Android開發(fā)判斷一個app應(yīng)用是否在運行的方法詳解
這篇文章主要介紹了Android開發(fā)判斷一個app應(yīng)用是否在運行的方法,結(jié)合實例形式較為詳細的分析了Android判斷應(yīng)用運行狀態(tài)的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2017-11-11android Textview文字監(jiān)控(Textview使用方法)
以手機號充值為例,當用戶輸入最后一位數(shù)時候,進行匯率的變換,本文就實現(xiàn)類似這樣的功能2013-11-11Android懸浮窗按鈕實現(xiàn)點擊并顯示/隱藏多功能列表
這篇文章主要為大家詳細介紹了Android懸浮窗按鈕實現(xiàn)點擊并顯示/隱藏多功能列表,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07Android實現(xiàn)通訊錄效果——獲取手機號碼和姓名
這篇文章主要介紹了Android實現(xiàn)通訊錄效果——獲取手機號碼和姓名的相關(guān)資料,需要的朋友可以參考下2016-03-03Android中兩個類讓你再也不用實現(xiàn)onActivityResult()
這篇文章主要給大家介紹了關(guān)于Android中兩個類讓你再也不用實現(xiàn)onActivityResult()的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學習價值,需要的朋友們下面來一起看看吧2018-08-08