开发者可以通过物理唯一标识码和IMEI号 来得知 应用有多少用户安装,或者正在使用。
物理唯一标识码 即 ANDROID_ID 是手机系统的唯一号码。
IMEI号是唯一识别手机的号码。
IMSI号是与SIM唯一对应的号码
优缺点:
1.ANDROID_ID可能会因为系统改变 而发生变化。
2.获取IMEI号 在1.6及以下版本 需要添加权限
- < uses-permission android:name="android.permission.READ_PHONE_STATE" />
获取ANDROID_ID:
- String android_id = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
获取IMEI号:
- TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
- String android_imei = telephonyManager.getDeviceId();
获取IMSI号,并判断是中国移动/中国联通/中国电信
- String android_imsi = telephonyManager.getSubscriberId();//获取手机IMSI号
- if(android_imsi != null){
- if(android_imsi.startsWith("46000") || android_imsi.startsWith("46002")){<span><span class="comment">
- //因为移动网络编号46000下的IMSI已经用完,所以虚拟了一个46002编号,134/159号段使用了此编号</span><span></span></span>
- imsinetwrok = getResources().getText(R.string.china_mobile).toString();//中国移动
- }else if(android_imsi.startsWith("46001")){
- imsinetwrok = getResources().getText(R.string.china_unicom).toString();//中国联通
- }else if(android_imsi.startsWith("46003")){
- imsinetwrok = getResources().getText(R.string.china_telecom).toString();//中国电信
- }
- }