Mit der Zuweisung einer Eindeutigen ID an die Anwendung Installieren - Android
Ich versuche es zu implementieren Sie den code unten finden, so dass ich erzeugen kann, die eine zufällige ID-Nummer für den Benutzer Recht, wenn die app installiert ist. Ich habe nur ein paar Fragen stellen.
- Wenn ich eine neue Datei für diese (Install.java) wie greife ich auf die ID in einer anderen Klasse?
-
Wie kann ich sicher sein, dass dieser Teil des Programms wird ausgeführt, wenn die app zum ersten mal installiert? Jetzt startet das Programm auf meinem Main.java Klasse (ich bin neu in Java). Wird es nur ausgeführt, wenn die app installiert ist?
public class Install { private static String sID = null; private static final String INSTALLATION = "INSTALLATION"; public synchronized static String id(Context context) { if (sID == null) { File installation = new File(context.getFilesDir(), INSTALLATION); try { if (!installation.exists()) writeInstallationFile(installation); sID = readInstallationFile(installation); } catch (Exception e) { throw new RuntimeException(e); } } return sID; } private static String readInstallationFile(File installation) throws IOException { RandomAccessFile f = new RandomAccessFile(installation, "r"); byte[] bytes = new byte[(int) f.length()]; f.readFully(bytes); f.close(); return new String(bytes); } private static void writeInstallationFile(File installation) throws IOException { FileOutputStream out = new FileOutputStream(installation); String id = UUID.randomUUID().toString(); out.write(id.getBytes()); out.close(); } }
- Ich bitte Sie eindringlich, nicht in eine Datei schreiben (Sie nicht wissen, über welche Geräte sind verfügbar für alle Marken und Modelle von Mobiltelefonen), sondern stattdessen eine Vorlieben oder SharedPreferences-Objekt. Zusätzlich zu diesem, können Sie nutzen aus dem BackupManager also, wenn der Benutzer installiert die app auf ein anderes Telefon, BackupManager kopieren über alle gespeicherten Einstellungen auf das neue Telefon.
- Danke für die Antwort. Ich bin zu versuchen, diese mit einem SharedPreference jetzt, aber ich habe eine Menge ärger. Könntest du einen Blick auf meinen anderen post und Sag mir wo und ich wie ich es umsetzen in den code gegeben? Hier ist ein link: stackoverflow.com/questions/9177092/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit ich weiß, bekommen Sie nicht, eine Möglichkeit zum ausführen von beliebigem code direkt nach der installation abgeschlossen ist.
Ich denke, die nächsten, die Sie bekommen können, macht ein check in deine MainActivity onCreate() Methode, die bestimmt, ob oder nicht, dies ist der erste Lauf (eine gute Möglichkeit um dies zu überprüfen, könnte man einen Verweis auf die Datei und wählen Sie Datei.exists(), die resultierende Boolesche wird Ihnen sagen, ob oder nicht Sie benötigen, um erstellen Sie Ihre UID-Datei.
Install.id
als die erste Sache, die in Ihrer Haupttätigkeit, wenn Sie möchten, um diese Logik in eine separate Klasse. (ja, ich weiß, dieser Kommentar ist 6 Jahre zu spät)Hier ist etwas code, den ich verwenden, fühlen Sie sich frei, um anzupassen, wie Sie...
Hier ist ein blog-post von Tim Bray erklärt, was Sie eigentlich tun sollten..
http://android-developers.blogspot.com/2011/03/identifying-app-installations.html