Back to project page base-android-utils.
The source code is released under:
Apache License
If you think the Android project base-android-utils listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/** * @Title: Installation.java /*from ww w. j a va 2 s .com*/ * @Package me.pc.mobile.helper.v14.util * @Description: TODO * @author SilentKnight || happychinapc[at]gmail[dot]com * @date 2014 2014?12?30? ????4:02:35 * @version V1.0.0 */ package me.pc.mobile.helper.v14.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.RandomAccessFile; import java.util.UUID; import android.content.Context; /** * @ClassName: AppInstallUtil * @Description: TODO * @author SilentKnight || happychinapc@gmail.com * @date 2014?12?30? ????4:02:35 * */ public final class AppInstallUtil { private static String sID = null; private static final String INSTALLATION = "app_installation_identifier"; 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(); } }