Как установить приложение с помощью PackageInstaller для владельца профиля?

Я пытаюсь установить apk-файл с помощью установщика пакетов. Мое приложение является текущим владельцем профиля. Метод успешно завершается, но в моем BroadcastReceiver я получаю PackageInstaller.STATUS_PENDING_USER_ACTION. Согласно документации Android https://developer.android.com/reference/android/content/pm/PackageInstaller должно иметь возможность автоматически устанавливать apk, если оно является владельцем профиля.

     public static boolean installPackage(Context context, InputStream 
   in, 
       String packageName)
        throws IOException {
      final PackageInstaller packageInstaller = 
    context.getPackageManager().getPackageInstaller();
    final PackageInstaller.SessionParams params = new 
     PackageInstaller.SessionParams(
            PackageInstaller.SessionParams.MODE_FULL_INSTALL);
    params.setAppPackageName(packageName);
    // set params
    final int sessionId = packageInstaller.createSession(params);
    final PackageInstaller.Session session = 
   packageInstaller.openSession(sessionId);
    final OutputStream out = session.openWrite("TestDPC", 0, -1);
    final byte[] buffer = new byte[65536];
    int c;
    while ((c = in.read(buffer)) != -1) {
        out.write(buffer, 0, c);
    }
    session.fsync(out);
      in.close();
       out.close();

       session.commit(createInstallIntentSender(context, sessionId));
       return true;
    }

person Mohammed Daoud    schedule 02.07.2019    source источник
comment
Какая у вас версия ОС? Я видел комментарии о том, что Lollipop по-прежнему требует действий пользователя ...   -  person Steve Miskovetz    schedule 10.07.2019
comment
Я пробовал O, P и Q   -  person Mohammed Daoud    schedule 16.07.2019


Ответы (1)


Ваше приложение должно быть назначено владельцем устройства или владельцем аффилированного профиля.

person greywolf82    schedule 18.08.2019