package net.pocketmagic.android.androididsample;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings.Secure;
import android.telephony.TelephonyManager;
import android.widget.TextView;
/*
* Android Device ID
*
* (C)2011 Radu Motisan
* http://www.pocketmagic.net
* radu.motisan@gmail.com
*/
public class AndroidIDSample extends Activity {
/** Called when the activity is first created. */
TextView m_tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
m_tv = new TextView(this);
setContentView(m_tv);
//1 compute IMEI
TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String m_szImei = TelephonyMgr.getDeviceId(); // Requires READ_PHONE_STATE
//2 compute DEVICE ID
String m_szDevIDShort = "35" + //we make this look like a valid IMEI
Build.BOARD.length()%10+ Build.BRAND.length()%10 +
Build.CPU_ABI.length()%10 + Build.DEVICE.length()%10 +
Build.DISPLAY.length()%10 + Build.HOST.length()%10 +
Build.ID.length()%10 + Build.MANUFACTURER.length()%10 +
Build.MODEL.length()%10 + Build.PRODUCT.length()%10 +
Build.TAGS.length()%10 + Build.TYPE.length()%10 +
Build.USER.length()%10 ; //13 digits
//3 android ID - unreliable
String m_szAndroidID = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
//4 wifi manager, read MAC address - requires android.permission.ACCESS_WIFI_STATE or comes as null
WifiManager wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
String m_szWLANMAC = wm.getConnectionInfo().getMacAddress();
//5 Bluetooth MAC address android.permission.BLUETOOTH required
BluetoothAdapter m_BluetoothAdapter = null; // Local Bluetooth adapter
m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
String m_szBTMAC = m_BluetoothAdapter.getAddress();
//6 SUM THE IDs
String m_szLongID = m_szImei + m_szDevIDShort + m_szAndroidID+ m_szWLANMAC + m_szBTMAC;
MessageDigest m = null;
try {
m = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
m.update(m_szLongID.getBytes(),0,m_szLongID.length());
byte p_md5Data[] = m.digest();
String m_szUniqueID = new String();
for (int i=0;i<p_md5Data.length;i++) {
int b = (0xFF & p_md5Data[i]);
// if it is a single digit, make sure it have 0 in front (proper padding)
if (b <= 0xF) m_szUniqueID+="0";
// add number to string
m_szUniqueID+=Integer.toHexString(b);
}
m_szUniqueID = m_szUniqueID.toUpperCase();
m_tv.setText("Android Unique Device ID\n\n\n\n"+
"IMEI:> "+m_szImei+
"\nDeviceID:> "+m_szDevIDShort+
"\nAndroidID:> "+m_szAndroidID+
"\nWLANMAC:> "+m_szWLANMAC+
"\nBTMAC:> "+m_szBTMAC+
"\n\nUNIQUE ID:>"+m_szUniqueID +
"\n\n\n(C) 2011 - PocketMagic.net");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Android中获取唯一的ID的几种方法
共32个文件
class:7个
png:6个
xml:4个
3星 · 超过75%的资源 需积分: 22 22 下载量 87 浏览量
2013-12-24
15:06:47
上传
评论
收藏 71KB RAR 举报
温馨提示
有很多场景和需求你需要用到手机设备的唯一标识符。此案例中,有以下几种方法获取这样的ID。
资源推荐
资源详情
资源评论
收起资源包目录
Android中,有以下几种方法获取唯一的ID.rar (32个子文件)
在Android中,有以下几种方法获取唯一的ID.doc 48KB
android-device-id-150x150.jpg 5KB
AndroidIDSample
.project 851B
project.properties 563B
proguard.cfg 1KB
src
net
pocketmagic
android
androididsample
AndroidIDSample.java 3KB
AndroidManifest.xml 967B
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable-mdpi
icon.png 3KB
layout
main.xml 382B
values
strings.xml 181B
.settings
org.eclipse.jdt.core.prefs 208B
assets
gen
net
pocketmagic
android
androididsample
BuildConfig.java 181B
R.java 661B
.classpath 475B
bin
resources.ap_ 11KB
classes
net
pocketmagic
android
androididsample
R$layout.class 457B
BuildConfig.class 387B
R$drawable.class 463B
R$attr.class 403B
R.class 615B
R$string.class 490B
AndroidIDSample.class 4KB
AndroidManifest.xml 967B
dexedLibs
annotations-a408979d465b0fca0371b444a077feff.jar 943B
jarlist.cache 120B
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable-mdpi
icon.png 2KB
AndroidIDSample.apk 15KB
classes.dex 7KB
共 32 条
- 1
资源评论
- uvwx13142014-09-07暂时不能用得到,
wvwmwvw
- 粉丝: 1
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功