2010-12-17 12 views
1

Ich habe eine „Lite“ Version einer App veröffentlicht, die ich will, um dann den „pro“ „Upgrade“ für verkaufen - ohne eine völlig neue Version freigeben zu müssen.Android-Lizenzierung ohne Aktivität

Mein Gedanke war, einen Zuhörer zu schaffen, die für eine Absicht aus der Hauptanwendung hören würde, Triggern es den Lizenzdienst für sich selbst abfragen und die Ergebnisse in der ursprünglichen Anwendung zurück. Auf diese Weise installieren Sie die Testversion und kaufen die "Pro" -Lizenzdatei im Wesentlichen, ohne dass Sie Ihre Daten von der ursprünglichen Installation neu installieren oder verlieren müssen.

Ich begann die Lizenz „Zuhörer“ App, die seine eigene Tätigkeit nicht ist zu haben. Leider habe ich festgestellt, dass Code, den ich zuvor für den Zugriff auf den Lizenzdienst verwendet habe, nicht funktioniert, weil ich versuche, ihn innerhalb eines Listeners auszuführen - aber getContentResolver() existiert für einen Listener nicht.

Bin ich unten noch den richtigen Weg mit diesem Ansatz oder gibt es einen einfacheren Weg?

+0

Ist es nicht möglich, dass die Haupt-App einen LicenseChecker eingerichtet hat, der den Paketnamen aus dem OTHER-Lizenzpaket verwendet, um zu sehen, ob es installiert ist? Auf diese Weise muss die Lizenzpaket-App gar nichts tun. –

+0

Nun, vergiss es - du kannst die CheckLicense-Berechtigung nicht auf eine kostenlose Anwendung anwenden. –

Antwort

0

Ich habe es in einem ContentProvider verwendet, also nehme ich an, dass Sie es in etwas anderem verwenden können.

Wenn Sie einen Rundfunkempfänger, obwohl haben, kann es, weil der Lebenszyklus eines Rundfunkempfängers schwierig sein.

Sie könnten das „Lizenzpaket“ als separaten Dienst oder Broadcast-Empfänger verkaufen, und es kann die Authentifizierung auf Anfrage durchzuführen.

+0

Wenn Sie einen ContentProvider verwenden, wird der Anwendungsprozess nicht blockiert, bis Sie ein Ergebnis zurückbekommen? –

+0

LicenseService ist nicht blockierend und wird in einem eigenen Thread ausgeführt. Es kann den Prozess am Leben erhalten, aber der ContentProvider gibt immer noch ein Ergebnis zurück, bevor die Lizenzierung abgeschlossen ist. Ich hatte gerade den User gequält, nachdem er den Inhalt schon benutzt hatte. – HaMMeReD

+0

Danke. Ich habe gerade einen ContentProvider dafür geschrieben. Ich habe die App zuerst versuchen, den ContentProvider zu überprüfen, wenn es geöffnet ist, aber ich brauche das Ergebnis nicht sofort. Kurz bevor ich den Benutzer etwas machen lasse, das die Lizenz benötigt, überprüfe ich erneut, zu welcher Zeit es bereits eine Antwort hat. –

Verwandte Themen