Как установить несколько APK в одном коммите, используя Package Installer в Android - PullRequest
0 голосов
/ 04 мая 2020

Я устанавливаю один apk в фоновом режиме, используя эту функцию ниже

fun install(context: Context, packageName: String, apkPath: String) {
        try {
            val packageInstaller = context.packageManager.packageInstaller
            // Prepare params for installing one APK file with MODE_FULL_INSTALL
            // We could use MODE_INHERIT_EXISTING to install multiple split APKs
            val params = PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL)
            params.setAppPackageName(packageName)
            // Get a PackageInstaller.Session for performing the actual update
            val sessionId = packageInstaller.createSession(params)
            val session = packageInstaller.openSession(sessionId)
            // Copy APK file bytes into OutputStream provided by install Session
            val out = session.openWrite(packageName, 0, -1)
            val fis = File(apkPath).inputStream()
            fis.copyTo(out)
            session.fsync(out)
            out.close()
            // The app gets killed after installation session commit
            session.commit(
                PendingIntent.getBroadcast(context, sessionId,
                    Intent("android.intent.action.MAIN"), 0).intentSender)
        }catch (e:Exception){
            Log.i(tag,e.toString())
            e.printStackTrace()
        }
    }

Что я пытаюсь сделать: Я пытаюсь установить несколько APK в одном коммите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...