/** * * *创建日期 2010-4-29 下午05:02:47 * */ package net.sunniwell.app; import android.app.Activity; import android.os.Bundle; import android.telephony.CellLocation; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; public class TelManager extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE); /* * 电话状态: * 1.tm.CALL_STATE_IDLE=0 无活动 * 2.tm.CALL_STATE_RINGING=1 响铃 * 3.tm.CALL_STATE_OFFHOOK=2 摘机 */ tm.getCallState();//int /* * 电话方位: * */ tm.getCellLocation();//CellLocation /* * 唯一的设备ID: * GSM手机的 IMEI 和 CDMA手机的 MEID. * Return null if device ID is not available. */ tm.getDeviceId();//String /* * 设备的软件版本号: * 例如:the IMEI/SV(software version) for GSM phones. * Return null if the software version is not available. */ tm.getDeviceSoftwareVersion();//String /* * 手机号: * GSM手机的 MSISDN. * Return null if it is unavailable. */ tm.getLine1Number();//String /* * 附近的电话的信息: * 类型:List<NeighboringCellInfo> * 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES */ tm.getNeighboringCellInfo();//List<NeighboringCellInfo> /* * 获取ISO标准的国家码,即国际长途区号。 * 注意:仅当用户已在网络注册后有效。 * 在CDMA网络中结果也许不可靠。 */ tm.getNetworkCountryIso();//String /* * MCC+MNC(mobile country code + mobile network code) * 注意:仅当用户已在网络注册时有效。 * 在CDMA网络中结果也许不可靠。 */ tm.getNetworkOperator();//String /* * 按照字母次序的current registered operator(当前已注册的用户)的名字 * 注意:仅当用户已在网络注册时有效。 * 在CDMA网络中结果也许不可靠。 */ tm.getNetworkOperatorName();//String /* * 当前使用的网络类型: * 例如: NETWORK_TYPE_UNKNOWN 网络类型未知 0 NETWORK_TYPE_GPRS GPRS网络 1 NETWORK_TYPE_EDGE EDGE网络 2 NETWORK_TYPE_UMTS UMTS网络 3 NETWORK_TYPE_HSDPA HSDPA网络 8 NETWORK_TYPE_HSUPA HSUPA网络 9 NETWORK_TYPE_HSPA HSPA网络 10 NETWORK_TYPE_CDMA CDMA网络,IS95A 或 IS95B. 4 NETWORK_TYPE_EVDO_0 EVDO网络, revision 0. 5 NETWORK_TYPE_EVDO_A EVDO网络, revision A. 6 NETWORK_TYPE_1xRTT 1xRTT网络 7 */ tm.getNetworkType();//int /* * 手机类型: * 例如: PHONE_TYPE_NONE 无信号 PHONE_TYPE_GSM GSM信号 PHONE_TYPE_CDMA CDMA信号 */ tm.getPhoneType();//int /* * Returns the ISO country code equivalent for the SIM provider's country code. * 获取ISO国家码,相当于提供SIM卡的国家码。 * */ tm.getSimCountryIso();//String /* * Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits. * 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字. * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断). */ tm.getSimOperator();//String /* * 服务商名称: * 例如:中国移动、联通 * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断). */ tm.getSimOperatorName();//String /* * SIM卡的序列号: * 需要权限:READ_PHONE_STATE */ tm.getSimSerialNumber();//String /* * SIM的状态信息: * SIM_STATE_UNKNOWN 未知状态 0 SIM_STATE_ ABSENT 没插卡 1 SIM_STATE_PIN_REQUIRED 锁定状态,需要用户的PIN码解锁 2 SIM_STATE_PUK_REQUIRED 锁定状态,需要用户的PUK码解锁 3 SIM_STATE_NETWORK_LOCKED 锁定状态,需要网络的PIN码解锁 4 SIM_STATE_READY 就绪状态 5 */ tm.getSimState();//int /* * 唯一的用户ID: * 例如:IMSI(国际移动用户识别码) for a GSM phone. * 需要权限:READ_PHONE_STATE */ tm.getSubscriberId();//String /* * 取得和语音邮件相关的标签,即为识别符 * 需要权限:READ_PHONE_STATE */ tm.getVoiceMailAlphaTag();//String /* * 获取语音邮件号码: * 需要权限:READ_PHONE_STATE */ tm.getVoiceMailNumber();//String /* * ICC卡是否存在 */ tm.hasIccCard();//boolean /* * 是否漫游: * (在GSM用途下) */ tm.isNetworkRoaming();// } }
DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); String s = dm.widthPixels + "*" + dm.heightPixels;
相关推荐
实现以上功能,开发者需要相应权限,如读取电话状态(获取IMEI)、读取存储状态(获取存储信息)等。在AndroidManifest.xml中添加对应的权限声明。 在`AndroidDeviceInfo-master`这个项目中,可能包含了用于演示...
5. **设备ID**:在早期Android版本中,可以通过` TelephonyManager.getDeviceId()`获取IMEI(国际移动设备识别码),但在Android 10及更高版本中,由于隐私保护原因,此方法受到限制。 6. **Android ID**:使用`...
6. **屏幕尺寸和密度**:`DisplayMetrics`类包含关于屏幕的信息,如宽度、高度、密度和分辨率,可以通过`WindowManager.getDefaultDisplay()`获取。 7. **电池状态**:`BatteryManager`可以获取电池的状态、电量、...
本Demo主要展示了如何获取手机内的各种信息,包括定位、IP地址、MAC地址、SD卡状态、屏幕分辨率、网络连接状态、内存信息、CPU信息以及IMEI号等。这些数据对于开发者来说至关重要,可以帮助他们更好地理解和优化应用...
5. 利用硬件信息组合:例如电池信息、屏幕分辨率等,但这种方式可能会因为硬件升级或定制ROM而改变。 6. 如果应用已经拥有其他非敏感权限,可以考虑结合应用内部数据生成一个设备相关的标识,但这种方案的唯一性...
4. **屏幕分辨率与密度**: 使用`DisplayMetrics`类可以获取屏幕的信息。在Activity中,你可以调用`getWindowManager().getDefaultDisplay().getMetrics(displayMetrics)`,然后`displayMetrics.widthPixels`和`...
HTML5的Device API提供了一种方法,使Web应用能够获取到设备的一些基本信息,如设备的型号、操作系统、版本、屏幕分辨率等。这些信息对于创建适应不同设备的响应式Web应用至关重要。例如,通过`navigator.userAgent`...
6. **IMEI(国际移动设备识别码)**:每个GSM设备都有一个唯一的IMEI号,但在现代操作系统中,获取IMEI也需要`READ_PHONE_STATE`权限。在Android中,通过`TelephonyManager`获取;iOS则不允许应用直接获取IMEI,但...
除了上述方法,还可以尝试获取设备的硬件信息,如CPU型号、屏幕分辨率等,但这些信息并不保证唯一,且可能因制造商而异。 8. **应用签名** 对于同一个应用的不同安装,可以通过应用签名来区分,但无法区分同一...
1. **硬件信息**:包括CPU型号、内存容量、屏幕分辨率、GPU类型等。这些信息可以通过`Build`类提供的静态字段获取,例如`Build.BRAND`(品牌)、`Build.DEVICE`(设备名)、`Build.MODEL`(模型名)、`Build.VERSION...
Android 关于设备状态和操作的API。 获取总大小 获取可用大小 获取SD卡的总大小 获取SD卡可用大小 获取总内存大小 获取可用内存大小 获取系统版本 安装客户端 获取FilesDir目录 ...获取手机IMEI 获取手机IMSI
3. **硬件信息**:如CPU型号、内存大小、屏幕分辨率等。 4. **制造商和品牌**:比如Samsung或Google。 5. **设备唯一标识符**:IMEI(国际移动设备识别码)或Android ID。 6. **网络状态**:包括Wi-Fi、移动数据、...
例如,`navigator.userAgent`可以获取设备的浏览器和操作系统信息,`screen`对象则包含屏幕分辨率和颜色深度等数据。 2. Android WebView: 在Android应用中,WebView是一个用于显示网页内容的组件。通过WebView,...
- `getPhoneImei()` 获取IMEI(国际移动设备识别码),是手机的唯一标识。 - `getPhoneSim()` 获取SIM卡的序列号,如果设备不支持或没有插入SIM卡,可能为空。 - `getPhoneNum()` 努力获取设备的电话号码,但需要...
在Android开发中,工具类(Utility Class)是程序员经常使用的辅助类,它们封装了一些常见的功能,使得代码更加简洁且...在实际项目中,根据需求,可以扩展此类,添加更多的实用方法,如获取IMEI号、获取APP版本号等。
例如,`Build.VERSION.SDK_INT`可以获取Android版本号,`Build.CPU_ABI`获取CPU架构,`Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID)`获取设备的唯一标识。 八、权限管理 ...
在Android开发中,有时我们需要获取设备的各种状态信息,如IMSI、IMEI、IP地址、MAC地址、屏幕分辨率、手机号码以及Wi-Fi和网络状态等。这些信息对于调试、数据分析或者实现特定功能(如设备唯一标识、网络连接检测...
在安卓操作系统的世界里,设备信息是手机硬件和软件配置的详细记录,包括但不限于设备型号、制造商、Android版本、屏幕分辨率等。这些信息通常由系统固件提供,并在应用程序和系统服务中使用。然而,有时用户可能...
软件信息可能涵盖设备的IMEI(国际移动设备识别码)、设备型号、Android构建号等。这些信息在设备故障排查、技术支持和应用适配方面都非常有价值。 在"InformationDemo"这个示例中,很可能是提供了一个Android应用...
5. **屏幕分辨率**:通过`Android.Graphics.DisplayMetrics`类可以获取屏幕的宽度、高度、密度等信息。首先创建一个`JDisplayMetrics`对象,然后调用`getWindowManager().getDefaultDisplay().getMetrics...