2017-02-13 20 views
4

Итак, я нашел этот ответ here от #CommonsПожалуйста, разрешите приложению устанавливать приложения на телефон, как это делает Google Play. Там упоминается, что приложение должно быть либо подписано с сертификатом подписи прошивки или так, либо добавить приложение в системную папку. Что мне нужно знать, если я добавлю приложение в систему \ app \ или system \ priv-app \, то можно ли установить приложение тихо на устройство Android? Или мне нужно использовать разрешение INSTALL_PACKAGES? Если да, то как?Как установить приложение тихо на устройствах Android?

Я задаю этот вопрос, потому что у меня всего 10 репутаций, поэтому я не могу комментировать там.

Я нашел ответ от #inazaruk here, но это сложно, и предоставленные ссылки мертвы.

ответ

1

Это приложение, выполняющее установку, которая должна быть подписана системой или находиться в системе/приложению/приватном приложении, для тех, кому необходимо установить правильное разрешение для установки приложения (даже если вы система подписана), разница в том, что вы можете получить необходимое разрешение для этого вообще. Тот факт, что вы используете разрешение, не совпадает с тем, что пользователь получает всплывающее окно с вопросом, все ли в порядке.

Чтобы установить пакет, вы можете позвонить (ApplicationPackageManager.installPackage): http://androidxref.com/7.1.1_r6/xref/frameworks/base/core/java/android/app/ApplicationPackageManager.java#1561

public void installPackage(Uri packageURI, PackageInstallObserver observer, 
     int flags, String installerPackageName) { 

Поскольку ApplicationPackageManager имеет @hide на нем вы будете иметь, чтобы использовать что-то вроде отражения для доступа к нему , Когда вы вызываете «Context.getPackageManager», вы получаете ApplicationPackageManager.

+0

Я думаю, вы сказали, что это нужно сделать из самой прикладной стороны. Означает ли это, что нам не нужен сертификат подписи прошивки для приложения, чтобы получить полную правку установки на устройстве? Можете ли вы быть более ясными? – Neeraj

+1

Отметьте первое предложение :) «Это приложение выполняет установку, которая должна быть подписана системой или находиться в системе/приложении/приватном приложении», то есть ваше приложение-установщик должно быть подписано системой. – JohanShogun

+0

Итак, если я передаю свое приложение производителю телефона (чтобы сделать его системным приложением на своем устройстве), тогда они должны выполнить подписание системы, правильно? – Neeraj