Закрыть диалог установки APK - PullRequest
2 голосов
/ 14 мая 2019

Я работаю над корпоративным приложением с пользовательским обновлением (без Google Play). Я загружаю и запускаю обновление прямо с APK:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

Это приносит мне диалог установщика. После установки обновления я перезапускаю свое приложение с приемником вещания:

<receiver android:name=".content.SilentUpdateReceiver">
    <intent-filter>
        <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
    </intent-filter>
</receiver>

public class SilentUpdateReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent i = new Intent(context, MainActivity.class);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);
    }
}

Приложение открывается на переднем плане, но диалоговое окно программы установки остается в фоновом режиме.

apk install dialog

Как закрыть это диалоговое окно программно?

...