溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

apk文件怎么在Android應用中安裝

發(fā)布時間:2020-12-04 17:11:30 來源:億速云 閱讀:182 作者:Leah 欄目:移動開發(fā)

apk文件怎么在Android應用中安裝?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

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代表上面保存路徑的文件夾名稱,可隨意更改,相同即可。

<&#63;xml version="1.0" encoding="utf-8"&#63;>
<paths>
  <external-files-path name="bga_upgrade_apk" path="upgrade_apk" />
</paths>

最后編寫代碼,區(qū)分不同Android系統(tǒng)版本號,安裝apk(注意:【com.apkinstall.demo】要替換自己應用的包名)

 /**
       * 安裝 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);
        }
      }

關于apk文件怎么在Android應用中安裝問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI