Android: выполните действие с помощью window при программной установке приложения

#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>`