Installieren Sie die Anwendung apk programmgesteuert neu, ohne sie herunterzuladen

Durchdiese ärgerliche Android-Einschränkung Ich benötige Benutzer, um meine Anwendung neu zu installieren, damit die Manifest-Berechtigungen von anderen Anwendungen erkannt werden.

Dies wird für den Benutzer bereits frustrierend sein, aber außerdem sehe ich keine Möglichkeit, meine Anwendung von dem in / data / app gespeicherten apk neu zu installieren, und ich müsste daher dieselbe Version auf die Speicherkarte herunterladen, bevor ich die Anwendung auslöse übliche Installationsabsicht.

Ich warte gespannt auf jemanden, der mir mitteilt, dass mir etwas Offensichtliches fehlt! Ich habe eine leere gezeichnet ...

Danke im Voraus.

Bitte markieren Sie das Problem, wenn Sie möchten, dass es behoben wird! Prost.

BEARBEITEN: Mit den Kommentaren von @hackbod können Sie den folgenden Code verwenden, um den Installationsdialog zu starten.

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(this.getApplicationInfo().sourceDir)),
"application/vnd.android.package-archive");
startActivity(intent);

Auf meinem Jelly Bean-Gerät stehen zwei Optionen zur Verfügung:Paket-Installationsprogramm undÜberprüfen und installieren. Ich weiß nicht, ob sich dieser mit dem Thema befassen wird:

Wenn Sie Ihre App auf diese Weise installieren, wird das Eigentum daran wahrscheinlich aus dem Play Store entfernt

Meine Bewerbung ist kostenlos, daher kann ich die bezahlte Ausgabe von nicht testen:

Beachten Sie jedoch, dass dies nicht funktioniert, wenn Ihre App für die Weiterleitung gesperrt ist (was aufgrund der App-Verschlüsselung für alle kostenpflichtigen Anwendungen ab JB unvermeidbar ist), da Ihre ausführbare App für andere Benutzer nicht lesbar ist

Obwohl Hackbod mit "für andere lesbar" endet, was darauf hindeutet, dass es für Ihre eigene Anwendung lesbar ist, wenn Sie dies über Ihren eigenen Code ausführen? Bitte korrigieren Sie mich, wenn Sie dies testen können und ich mich irre.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage