#android #installation
#Android #установка
Вопрос:
Я программно устанавливаю .apk со своей SD-карты, используя
String fileName = Environment.getExternalStorageDirectory() "/myApp.apk";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
startActivity(intent);
Это помогает с установкой, но я получаю окно полного действия, в котором отображаются два варианта, включая установщик пакета, поэтому вы нажимаете опцию установщика пакета, а затем переходите к окну установки. Но я хочу избавиться от этого полного окна действий и напрямую перейти к окну установки. Есть ли способ для этого?
Ответ №1:
Хорошо, разобрался, мне нужно было удалить <category android:name="android.intent.category.DEFAULT" />
из:
`
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="content" />
<data android:scheme="file" />
<data android:mimeType="application/vnd.android.package-archive" />
</intent-filter>`
Ответ №2:
Нет, этого не происходит. Система безопасности Android запрещает вам неявные установки, поэтому пользователь всегда в курсе программного обеспечения, которое он устанавливает на свое устройство.
Комментарии:
1. Я понимаю, что я просто хочу обойти диалоговое окно и неявно выбрать установщик пакетов для установки моего приложения.
2. Хорошо, разобрался, мне нужно было удалить ` <категория android:name=»android.intent.category. ПО УМОЛЧАНИЮ» />
from:
<фильтр намерений> <действие android: name=»android.intent.action. ПРОСМОТР» /> <категория android:name=»android.намерение.категория. ПО УМОЛЧАНИЮ» /> <данные android: схема=»содержимое» /> <данные android: схема=»файл» /> <данные android: mimeType=»приложение /vnd.android.package-архив» /> </intent-filter>`