沙井做网站公司,微信商城开发用华网天下卓越,山东省建设备案网站审批表,如何看一个网站用什么程序做的Demo与代码已上传到CSDN下载。 这里简单说一下代码内容#xff0c;完整代码请自行下载#xff0c;不清楚的欢迎留言交流。
前言 演示Demo使用了我自己开发的一个控件#xff0c;TLayoutPro 《Delphi D10.3 LayoutsPro 控件简介 -避免输入焦点被虚拟键盘遮挡》请查看并下载控…Demo与代码已上传到CSDN下载。 这里简单说一下代码内容完整代码请自行下载不清楚的欢迎留言交流。
前言 演示Demo使用了我自己开发的一个控件TLayoutPro 《Delphi D10.3 LayoutsPro 控件简介 -避免输入焦点被虚拟键盘遮挡》请查看并下载控件代码。当然这个控件针对于获取安卓设备信息及手机号不是必须的。 需要的权限 需要以下权限 在高版本的安卓系统中要想获取到设备信息需要动态申请权限在演示代码里已包括代码可同时在高低安卓版本中使用。 代码说明 获取信息主要是两个部分
TJBuild 这里面包括了较多的设备信息
BOARD 主板 BOOTLOADER 系统启动程序版本号 BRAND 系统定制商 CPU_ABI cpu指令集 CPU_ABI2 cpu指令集2 DEVICE 设备驱动名称 DISPLAY 显示屏参数设备显示器的版本包在系统设置中显示为版本号和ID一样 FINGERPRINT 识别码这个码不是唯一码通常是一串参数的组合没太大意义 HARDWARE 硬件名称 HOST设备主机地址 MANUFACTURER 硬件制造商 MODEL 版本即最终用户可见的名称 PRODUCT 整个产品的名称 RADIO 无线电固件版本使用**getRadioVersion()**代替。 SERIAL 硬件序列号 TAGS 描述build的标签,如未签名debug等等。 TIME 系统编译时间 TYPE 编译的类型 USER 固定的没意义 示例代码部分
// 手机型号(MI XXX) Memo1.Lines.Add(手机型号(MI XXX): JStringToString(TJBuild.JavaClass.MODEL)); // 设备基板名称 Memo1.Lines.Add(设备基板名称: JStringToString(TJBuild.JavaClass.BOARD)); // 系统启动程序版本 Memo1.Lines.Add(系统启动程序版本: JStringToString (TJBuild.JavaClass.BOOTLOADER)); // 系统定制商 Memo1.Lines.Add(设备品牌: JStringToString(TJBuild.JavaClass.BRAND)); // cpu指令集 Memo1.Lines.Add(cpu指令集: JStringToString(TJBuild.JavaClass.CPU_ABI)); // cpu指令集2 Memo1.Lines.Add(cpu指令集2: JStringToString(TJBuild.JavaClass.CPU_ABI2)); // 设备驱动名称 Memo1.Lines.Add(设备驱动名称: JStringToString(TJBuild.JavaClass.DEVICE)); // 设备显示的版本包在系统设置中显示为版本号和ID一样 Memo1.Lines.Add(显示屏参数 JStringToString(TJBuild.JavaClass.DISPLAY)); // 设备制造商 Memo1.Lines.Add(设备制造商: JStringToString(TJBuild.JavaClass.MANUFACTURER)); // 无线电固件版本 Memo1.Lines.Add(无线电固件版本: JStringToString (TJBuild.JavaClass.getRadioVersion)); // 设备的唯一标识。由设备的多个信息拼接合成。 注意这个码不是唯一 码 Memo1.Lines.Add(硬件识别码这个码不是唯一 码: JStringToString(TJBuild.JavaClass.FINGERPRINT));
TelephonyManager 这部分包括了手机信息如卡槽信息、手机卡信息、运营商信息、网络信息等等演示里也只列了一部分主要内容。
示例代码(部分) TelephonyServiceNative : TAndroidHelper.Context.getSystemService (TJContext.JavaClass.TELEPHONY_SERVICE); if Assigned(TelephonyServiceNative) then begin Memo1.Lines.Add(); try TelephonyManager : TJTelephonyManager.Wrap ((TelephonyServiceNative as ILocalObject).GetObjectID); // 手机卡槽数 vPhoneCount : TelephonyManager.getPhoneCount; Memo1.Lines.Add(卡槽数: vPhoneCount.ToString); // 插卡数 vSubscriptionManager : TJSubscriptionManager.JavaClass.from (TAndroidHelper.Context); vSubManagerCoun : vSubscriptionManager.getActiveSubscriptionInfoCount(); Memo1.Lines.Add(插卡数: vSubManagerCoun.ToString); // 设备ID Memo1.Lines.Add(DeviceId_1: JStringToString (TelephonyManager.getDeviceId(0))); if vPhoneCount 1 then Memo1.Lines.Add(DeviceId_2: JStringToString(TelephonyManager.getDeviceId(1))); // 硬件Imei Memo1.Lines.Add(Imei_1: JStringToString (TelephonyManager.getImei(0))); if vPhoneCount 1 then Memo1.Lines.Add(Imei_2: JStringToString (TelephonyManager.getImei(1))); // 硬件Meid try Memo1.Lines.Add(Meid_1: JStringToString (TelephonyManager.getMeid(0))); except on E: Exception do end; try if vPhoneCount 1 then Memo1.Lines.Add(Meid_2: JStringToString (TelephonyManager.getMeid(1))); except on E: Exception do end; // SubscriberId Memo1.Lines.Add(SubscriberId(IMSI号): JStringToString(TelephonyManager.getSubscriberId)); // Line1Number Memo1.Lines.Add(Line1Number: JStringToString (TelephonyManager.getLine1Number)); //分别取各卡槽信息 for I : 0 to vSubManagerCoun-1 do begin vSubscriptionInfo:vSubscriptionManager.getActiveSubscriptionInfo(I1); Memo1.Lines.Add(I.ToString手机号: JStringToString (vSubscriptionInfo.getNumber)); Memo1.Lines.Add(I.ToString使用卡槽: (vSubscriptionInfo.getSimSlotIndex1).ToString); Memo1.Lines.Add(I.ToString运营商: JCharSequenceToStr (vSubscriptionInfo.getCarrierName)); end; except end; end; 获取信息展示 ———————————————— 版权声明本文为博主原创文章遵循 CC 4.0 BY-SA 版权协议转载请附上原文出处链接和本声明。 原文链接https://blog.csdn.net/tanqth/article/details/104779089
获取信息展示
相关文章导读 《Delphi D10.3 LayoutsPro 控件简介 -避免输入焦点被虚拟键盘遮挡》 《Delphi安卓APP获取手机信息》源码下载地址