fbpx

Obter o IMEI de dispositivo Android com Delphi XE5

Capturando IMEI do dispositivo Android com Delphi XE5

Quando se fala de Mobilidade garantir que informações corporativas sejam visualizadas apenas por “pessoal” autorizado é essencial. Nessa postagem vamos implementar a autenticação de uma aplicação Delphi XE5 Android através do IMEI do dispositivo.

IMEI a identificação do dispositivo

IMEI é o acrônimo de Mobile Equipment Identity (Identificação Internacional de Equipamento Móvel). Trata-se de uma sequência de números e caracteres especiais única para cada dispositivo. A ideia é bem parecida com o MAC address das placas de rede. Isso facilita na hora de localizar um aparelho específico em meio às centenas de dispositivos colocados no mercado todos os meses.

Restringir Acesso pelo IMEI

Criando a aplicação Mobile Delphi XE5

Crie um novo projeto Mobile no Delphi XE5. No fonte do form da aplicação vamos adicionar as seguintes referências na clausula uses:

uses
  FMX.Platform.Android,
  Androidapi.JNI.Telephony,
  Androidapi.JNI.Provider ,
  Androidapi.JNIBridge,
  Androidapi.JNI.GraphicsContentViewText,
  Androidapi.JNI.JavaTypes,
  FMX.Helpers.Android;

No form vamos adicionar um Button, alterar sua propriedade Text para “Capturar IMEI” e a propriedade Name para btnCapturarIMEI. 

Interface do Apk Capturar IMEI

Vamos codificar seu evento onClick como abaixo:

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;

Fácil… extremamente fácil…

Execute a aplicação e clicando sobre o botão o IMEI do seu dispositivo será exibido.

Capturando IMEI do dispositivo Android com Delphi XE5

Vimos como é fácil capturar o IMEI através de uma aplicação Android Delphi XE5.

Implementando um banco de dados contendo os IMEI's autorizados e fazendo uma pesquisa neles você pode garantir o acesso apenas aos dispositivos previamente cadastrados no seu servidor de aplicação.

É isso… simples assim!

Até a próxima!

,

Comente