Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   Tomar el nro de celular que corre la aplicacion (https://www.clubdelphi.com/foros/showthread.php?t=86041)

tulio 10-06-2014 15:27:55

Tomar el nro de celular que corre la aplicacion
 
Hola Foros

como dice el dicho cada solucion trae nuevos problemas, les cuento que quiero tomar de la aplicacion que corre en el celular, el numero de telefono del celular, me imagino que debe haber alguna funcion que lo toma, si alguien la conoce se lo agradezco.

saludos

tulio

Neftali [Germán.Estévez] 10-06-2014 16:13:35

Revisa este link.
Obligatorio el tema de permisos, sino no podrás obtener ninguna información.

tulio 10-06-2014 16:35:09

Gracias Neftali

y como se traduce en delphi esto

TelephonyManager phoneManager = (TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = phoneManager.getLine1Number();

porque lo ingreso en un butoon onclick y me da errores, hay que colocar alguna unit

Gracias !!!!!!

Neftali [Germán.Estévez] 10-06-2014 18:11:39

En el link que hay al final del mensaje que apunta a los foros de embarcadero, hay un código similar donde están las units a añadir,...

Código Delphi [-]
Androidapi.JNI.Telephony, Androidapi.JNI.Provider;

tulio 10-06-2014 19:05:22

Gracias Neftali

El codigo del ejemplo da el IMEI al cambiar la funcion me da el numero de telefono pero aparentemente en hexadecimal

aca les dejo el codigo, si alguien tiene alguna idea se lo agradezco


Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  obj: JObject;
  tm: JTelephonyManager;
  identifier: String;
begin
  identifier:= '';
  obj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE);
  if obj <> nil then
  begin
    tm := TJTelephonyManager.Wrap( (obj as ILocalObject).GetObjectID );
    if tm <> nil then
      identifier := JStringToString(tm.getLine1Number);
  end;
  if identifier = '' then
    identifier := JStringToString(TJSettings_Secure.JavaClass.getString(SharedActivity.getContentResolver,
 TJSettings_Secure.JavaClass.ANDROID_ID));

   label1.Text:=identifier;

end;

y estas son las unit que hay que agregar

Código Delphi [-]
 Androidapi.JNI.Telephony, Androidapi.JNI.Provider ,
 Androidapi.JNIBridge, Androidapi.JNI.GraphicsContentViewText ,
 Androidapi.JNI.JavaTypes,FMX.Helpers.Android, FMX.StdCtrls;

Saludos !!!!


La franja horaria es GMT +2. Ahora son las 16:08:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi