如何在安卓系统中获得单一的设备in?智能手机和平板电脑。据我所知,这可能不是单一的吗?
这段代码能工作吗?http://android-developers.blogspot.com/2011/03/identifying-app-installations.html
发布于 2013-08-22 14:27:50
这是获取同样适用于平板电脑的设备Id的简单方法。
public class DeviceHelper {
private static String sID = null;
private static final String INSTALLATION = "INSTALLATION";
public synchronized static String getDeviceId(final Context context) {
if (sID == null) {
File installation = new File(context.getFilesDir(), INSTALLATION);
try {
if (!installation.exists()){
writeInstallationFile(context,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(final Context context,File installation) throws IOException {
FileOutputStream out = new FileOutputStream(installation);
StringBuffer buf=new StringBuffer();
buf.append(Settings.Secure.getString(context.getContentResolver(),Settings.Secure.ANDROID_ID));
buf.append("-");
buf.append(UUID.randomUUID().toString());
out.write(buf.toString().getBytes());
out.close();
}
}发布于 2013-08-22 14:19:37
获得android设备唯一ID的最简单代码:(这也适用于平板电脑)。
String deviceId = Secure.getString(MainActivity.this.getContentResolver(),Secure.ANDROID_ID);
Log.d("Device ID",deviceId);发布于 2013-08-22 14:26:45
另一种可能性是:
final TelephonyManager tm = (TelephonyManager) c
.getSystemService(Context.TELEPHONY_SERVICE);
Log.w("ID", tm.getDeviceId());https://stackoverflow.com/questions/18383053
复制相似问题