Hola a todos,
Estoy trabajando con Delphi 10.2. Mi idea es conseguir los datos que envía google maps cuando le das a compartir un sitio con otra app. Por ejemplo busco el Empire State, le doy a compartir y si comparto con el blog de notas veo el nombre del sitio, la dirección y una url que abre ese sitio en google maps. Todo en texto plano. Lo mismo si comparto por whatsapp o copio al portapapeles.
El código que utilizo es el siguiente, borrando las partes que no interesan. El manifest.xml tiene el siguiente filtro que hace que mi aplicación sí salga entre las opciones:
Cita:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>
|
Código Delphi
[-]function HandleIntentAction(const Data: JIntent): Boolean;
var
Extras: JBundle;
valor,valorofuscated,id,typetoopen,valortext:string;
begin
Result := False;
if Data <> nil then
begin
Extras := Data.getExtras;
if Extras <> nil then
begin
valorofuscated:=
JStringToString(Data.getStringExtra(StringToJString('EXTRA_TEXT')));
valor:= Crypt('Decrypt',valorofuscated);
end;
end;
Invalidate;
end;
Esa misma función la utilizo cuando yo mismo creo un intent para compartir datos vía whatsapp y me funciona bien, entra en el if de extras y saca los datos. En cambio cuando ese intent viene de Google Maps me dice que extras es nil. ¿Alguien sabe cómo capturar ese texto o la url directamente?
Muchas gracias.