Я пытаюсь получить IMEI на устройстве Android, и я могу успешно сделать это на Android 4.2.
но мой написанный код не работает на Android 5 и более поздних версиях
как узнать IMEI на андроид 5 в firemonkey?
Я пытаюсь получить IMEI на устройстве Android, и я могу успешно сделать это на Android 4.2.
но мой написанный код не работает на Android 5 и более поздних версиях
как узнать IMEI на андроид 5 в firemonkey?
Вот фрагмент кода, который получает IMEI устройства Android для вас с помощью Android JNI:
uses
Androidapi.JNI.Telephony, Androidapi.JNI.Provider ,
Androidapi.JNIBridge, Androidapi.JNI.GraphicsContentViewText ,
Androidapi.JNI.JavaTypes,FMX.Helpers.Android;
мероприятие :
procedure TForm1.btnCapturarIMEIClick(Sender: TObject);
var
obj: JObject;
tm: JTelephonyManager;
IMEI: String;
begin
obj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE);
if obj <> nil then
begin
tm := TJTelephonyManager.Wrap( (obj as ILocalObject).GetObjectID );
if tm <> nil then
IMEI := JStringToString(tm.getDeviceId);
end;
if IMEI = '' then
IMEI := JStringToString(TJSettings_Secure.JavaClass.getString( SharedActivity.getContentResolver, TJSettings_Secure.JavaClass.ANDROID_ID));
ShowMessage('IMEI :' + #13 + IMEI);
end;