2010-09-10 3 views
5

Ich bin sicher, das ist ziemlich einfach, aber ich weiß nicht ganz, was zu suchen, um ein kurzes Tutorial zu erhalten. Ich möchte eine App erstellen und sie kostenlos im Android Market zum Herunterladen bereitstellen. Dann möchte ich eine oder mehrere Apps erstellen, die nur Lizenzschlüssel sind, die bestimmte Funktionen in der kostenlosen App öffnen. Was ist der beste Weg für die kostenlose App zu überprüfen, ob die kostenpflichtigen Apps auf dem Gerät vorhanden sind? Gibt es eine einfache Möglichkeit, nach Paketnamen zu suchen, oder muss ich in den kostenpflichtigen Apps einen Inhaltsanbieter erstellen, den die kostenlose App aufrufen kann, um die Gültigkeit zu überprüfen?Wie erstellt man einen Lizenzschlüssel als downloadbar, und überprüfen Sie es auf Android

Oder vielleicht gibt es einigen globalen Speicherplatz (wie Einstellungen in einer App), die alle Apps lesen/schreiben können.

Ich kenne eine Lösung, die funktionieren würde, und die ich einfach implementieren könnte - jede bezahlte App ruft beim Start einen Webdienst an und registriert die IMEI dieses Telefons. Dies würde funktionieren, erfordert aber Internet-Zugang, der für meine App bequem sein kann oder nicht.

Wie bei den meisten Android-Problemen - mehr als eine Möglichkeit, eine Katze zu häuten. Ich suche nach dem, was ihr als den besten (und sichersten) Ansatz ansiehst.

+0

Sicher würde der Benutzer die Lizenzschlüssel-Apps herunterladen müssen, was bedeutet, dass der Webdienst ideal wäre, da er verhindert, dass andere Anwendungen die Dienste kostenlos freischalten (wie bei Verwendung einer globalen Speicherlösung). – Blam

+0

Werfen Sie einen Blick auf diese Frage: http://stackoverflow.com/questions/3384457/how-to-check-android-licensing-permission-of-other-applications – Janusz

+0

Danke, dass Sie mich auf diese andere Frage hingewiesen haben. Das ist mein Problem. Ein Problem mit der Web-Service-Idee ist, dass die Lizenz-App den Webservice aufruft und die IMEI des Telefons registriert. Das funktioniert im Normalfall sehr gut, aber was passiert, wenn der Benutzer die Lizenz-App deinstalliert und zurückerstattet? Ich habe keine Möglichkeit, das zu wissen und die Registrierung zu entfernen. Nein, ich denke, die kostenlose App muss sicherstellen, dass diese Lizenzen zum Zeitpunkt der Ausführung installiert sind. – RMS2

Antwort

1

Eine Lösung würde grundsätzlich testen, ob Ihre "Lizenz" -App noch auf dem Telefon installiert ist. Selbst wenn der Benutzer das Telefon wechselt, kann er die Lizenz-App dennoch über sein Google-Konto installieren.

Sie können die Liste der installierten Anwendungen erhalten mit dem folgenden Code:

List<ApplicationInfo> list = context.getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA); 

Dann gerade einen Application finden, wo das package Mitglied zum einen Ihrer Lizenz App entspricht.

Verwandte Themen