Есть ли способ установить apk из com.android.filemanager программно

#android

#Android

Вопрос:

При использовании «adb install xx.apk» появится всплывающее окно, требующее ввода пароля при изготовлении от oppo и vivo, однако, если отправить файл apk в / sdcard, затем перейдите в filemangeer и коснитесь только что нажатого apk, пароль не требуется. Интересно, есть ли способ сделать это с помощью другого apk?

             String sdcardRoot = Environment.getExternalStorageDirectory().getAbsolutePath();
            final String apkSavePath = sdcardRoot   "/510.apk";
            File apkFile = new File(apkSavePath);
            Intent intent = new Intent(Intent.ACTION_VIEW);
            if (!apkFile.exists()) {
                return;
            }

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                try {
                    String ss = "com.xunmeng.pinduoduo"   ".provider";
                    Uri contentUri = FileProvider.getUriForFile(getApplicationContext(), ss, apkFile);
                    intent.setAction(Intent.ACTION_VIEW);
                    intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } else {
                intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            }
            try {
                startActivity(intent);
            } catch (Exception e) {
                e.printStackTrace();

            }
  

Этот не работает, поскольку он вызвал установку файла из apk, который я создаю, а не com.android.filemanger.
Есть ли способ запустить установку файла из com.android.filemanger?

Комментарии:

1. Два способа достичь точки доступа: 1. сделайте так, чтобы приложение ur могло устанавливать apk, включив «установить приложение с неизвестным исходным кодом» в настройках. 2. отправьте намерение в filemanager.

2. @cowboi-peng я заменяю intent.setAction(намерение. ACTION_VIEW); с intent.setAction(«com.android.filemanager/ com.android.filemanager. FileManagerListActivity»); затем получите эту ошибку: android.content. ActivityNotFoundException: не найдено действий для обработки намерения { act=com.android.filemanager/com.android.filemanager . FileManagerListActivity dat=content://com.xunmeng.pinduoduo. provider/external_storage_root/510.apk тип=application/vnd.android.package-архив flg= 0x10000001 }

3. Добавьте это: intent.setPackage («com.android.filemanager»); intent.setAction (намерение. ACTION_INSTALL_PACKAGE); затем получена ошибка: android.content. ActivityNotFoundException: не найдено действий для обработки намерения { act=android.intent.action. INSTALL_PACKAGE dat=con