`

某些android手机获取不到IMEI问题

阅读更多
某些山寨机可能拿不到IMEI
如果非要IMEI可以模拟一个

private String getUniqueId() {
		TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
		String uniqueId=tm.getDeviceId();
		if(isEmpty(uniqueId)){
			uniqueId=android.os.Build.SERIAL;
		}
		if(isEmpty(uniqueId)){
			uniqueId=Settings.System.getString(getContentResolver(), Settings.System.ANDROID_ID);
		}
		if(isEmpty(uniqueId)){
			uniqueId=getUUID(context);
		}
		return uniqueId;
	}
	
	private String getUUID(Context context){
		String uuid=(String)SPUtils.get(context, "DeviceId", "");
		if(isEmpty(uuid)){
			uuid = UUID.randomUUID().toString();
			SPUtils.put(context, "DeviceId", uuid);
		}
		return uuid;
	}
分享到:
评论

相关推荐

    android获取IMEI号

    ### Android获取IMEI号:详解TelephonyManager类与设备识别码 在Android开发中,获取设备的唯一识别码(如IMEI号)是一项常见的需求,主要用于设备标识、数据分析或安全验证等场景。IMEI(International Mobile ...

    C# 获取IMEI即获取移动设备手机串号手机编码号源代码

    需要注意的是,随着隐私政策的日益严格,某些情况下获取IMEI可能会受到限制。在iOS平台上,自iOS 7开始,苹果已经禁止了直接获取IMEI,取而代之的是使用`IdentifierForVendor`(IFV)或者`AdvertisingIdentifier`...

    c#获取mobile手机的IMEI和IMSI

    在C#编程环境下,如果你需要在Windows Phone或者某些特定的Android设备上获取这些信息,通常会涉及到与设备硬件交互的部分。以下将详细讲解如何在C#中获取IMEI和IMSI以及相关知识。 IMEI获取: IMEI通常用于识别和...

    【Android】获取IMEI码

    以上就是关于Android获取IMEI码的相关知识点,包括使用`TelephonyManager`类获取IMEI,处理权限问题,兼容无SIM卡和多SIM卡设备的情况,以及隐私合规性。在实际开发中,根据具体需求和设备情况灵活运用这些方法。

    Android市场审核,用于检查是否提前调用mac地址及imei等信息

    开发者在提交应用前,应确保正确处理MAC地址和IMEI等敏感信息的获取,遵循Android的权限模型,避免在未获得用户许可的情况下进行调用。通过VirtualXposed和XposedHook这样的工具,可以有效测试和验证应用的行为,...

    Read IMEI from Android phone

    3. **多IMEI处理**:某些Android设备,特别是支持双卡的手机,可能有多个IMEI。`getDeviceId()`可能返回主SIM卡的IMEI,而`getSubscriberId()`和`getSimSerialNumber()`则分别对应SIM卡的唯一标识 IMSI 和 SIM卡...

    获取手机IMEI信息【转】

    本文将详细讲解如何在Android应用中获取手机的IMEI信息,以及与此相关的其他手机信息。 首先,为了能够访问手机的IMEI和其他电话状态信息,开发者需要在AndroidManifest.xml文件中声明相应的权限。添加以下代码行:...

    Xposed点击按钮修改手机imei的Demo

    7. **安全与兼容性**:考虑到安全性和兼容性问题,开发者应确保仅在测试环境中使用此功能,并考虑不同Android版本和设备的差异。 通过这个Demo,开发者可以学习到如何使用Xposed框架进行系统级别的功能扩展,理解...

    Android手机唯一标识

    然而,Android系统并没有提供一个内置的、始终不变的唯一标识符,因为考虑到用户隐私和安全问题。"Android手机唯一标识"这个话题涉及到如何在Android系统中组合不同的标识来尽可能地创建一个独一无二的标识符。 1. ...

    安卓系统IMEI修改器

    3. 连接ADB:有时,IMEI修改可能需要通过电脑上的Android Debug Bridge (ADB) 来完成,通过USB连接手机,使用命令行工具进行操作。 4. 修改IMEI:根据软件或教程的指示,输入新的IMEI号码。IMEI通常由15位数字组成...

    Android获取手机IMIE

    在Android系统中,IMEI(International Mobile Equipment Identity)...综上所述,Android获取手机IMEI涉及权限管理、系统服务调用、兼容性处理以及隐私保护等多个方面,开发时需谨慎处理,确保应用的稳定性和合规性。

    Guid2IMEI修改IMEI

    IMEI(国际移动设备识别码)是每个移动通信设备独一无二的标识符,它由15位数字组成,用于区分不同的手机和平板等设备。在Android操作系统中,IMEI主要用于追踪和识别设备,对于网络连接、防盗保护以及保修服务等...

    MTK_IMEI_Tool_v1.0.01_IMEI_windows_android_

    3. **IMEI修复**:在某些情况下,设备的IMEI可能会因软件问题而出现错误,该工具可尝试修复这些错误,使设备重新获得网络服务。 4. **备份与恢复**:用户可以备份当前IMEI,以防在进行其他操作后出现问题,可以方便...

    获取手机IMEI号,sim卡的IMSI号C#源码

    总之,通过C#获取IMEI号和IMSI号涉及到对移动设备硬件和网络通信的理解,以及对相应平台API的熟悉。在开发过程中,需要遵守隐私法规,确保用户数据的安全。`MobileCore.cs`和`TapiLib.dll`是实现这些功能的关键组件...

    Android2Unity.zip

    Unity的`Application.identifier`可以获取到应用的包名,但这并不足以作为设备标识符,因为不同的设备上安装同一个应用会返回相同的值。 5. **aar包**: AAR(Android Archive)是Android的库文件格式,类似于Java的...

    MTK_imei_writewww.sudupan.com.rar )IMEI写号

    虽然IMEI写号不一定需要root权限,但在某些情况下,root权限可能会简化操作流程,尤其是当设备的常规方法无法读取或修改IMEI时。 “Readme_说明.url”可能是关于如何使用这个IMEI写号工具的详细指南。通常,这类...

    Android SIM卡号码获取

    - 不同的设备和运营商可能会有额外的限制,例如某些设备可能不允许应用获取IMEI或IMSI。 - 应用程序在获取这些信息时,应遵循最小权限原则,只在必要时请求权限,并向用户清楚地解释为何需要这些信息。 ### 4. 示例...

    详解Android获取设备唯一ID的几种方式

    总结来说,Android获取设备唯一ID有多种途径,包括IMEI、Android_ID、Serial Number以及自定义UUID方案。每种方式都有其适用范围和局限性,开发者应根据具体需求选择合适的方法,并注意处理各种可能的异常情况,以...

    Android例子源码获取手机号码和手机运营商

    在Android开发中,获取设备的手机号码和运营商信息是常见的需求,这主要涉及到系统权限、设备硬件接口以及网络状态的查询。以下是对标题和描述中所述知识点的详细说明: 1. **权限申请**: 在Android 6.0(API级别...

    移动叔叔一键制作MTK智能机IMEI串号工具v1.2

    但在此之前,用户必须确保已获取设备的正确IMEI信息,并且手机已开启USB调试模式,以允许电脑与手机进行通信。 在使用任何IMEI修改工具之前,强烈建议用户备份重要数据,因为这个过程可能会导致设备无法正常启动或...

Global site tag (gtag.js) - Google Analytics