我在一个android项目上工作,在那个项目上,我被困在"当客户端将数据发送到远程数据库服务器时,他或她必须使用唯一的no"所以我决定使用电话mac地址,这样我就可以避免重复id no,现在我使用
public void minInteger(View view){
minteger = minteger + 1;
display(minteger);
}
public void display(int number){
TextView displayInteger = (TextView)findViewById(R.id.randGe);
displayInteger.setText("Integer: "+number);
}
这个应用程序将使用少数客户像20-30人。
不要使用MAC地址。首先,你可能没有手机——只有在使用wifi的情况下才有(手机不支持mac)。其次,Android限制了在更新的操作系统上实现这一功能的能力。使用Android id代替,或者动态生成一个UUID并使用它。
有很多方法可以为每个客户端生成唯一的id,如果你只想要完全唯一的数字,你可以使用nano time:
System.nanoTime()
但是如果你想在每个设备上使用唯一的uuid:
TelephonyManager tManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String uuid = tManager.getDeviceId();
谢谢大家,因为你们中的许多人建议我不要使用mac地址作为唯一的id,我也做了一些谷歌,发现使用mac地址可能不是解决我的问题的好方法,所以我以不同的方式实现这个概念。
希望对你有所帮助
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String macAddress = wifiInfo.getMacAddress();
并在清单
中添加此权限<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>