1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
Type
TDataWedgeDataEvent = procedure(Sender: TObject; const Data: string) of object;
TDataWedgeBroadcastListener = class(TJavaLocal, JFMXBroadcastReceiverListener)
private
FReceiver: JBroadcastReceiver;
FOnData: TDataWedgeDataEvent;
public
{ JFMXBroadcastReceiverListener }
procedure onReceive(context: JContext; intent: JIntent); cdecl;
public
constructor Create;
destructor Destroy; override;
property OnData: TDataWedgeDataEvent read FOnData write FOnData;
end;
---
//Une variable globale...
DataWedgeBroadcastListener:TDataWedgeBroadcastListener;
...
constructor TDataWedgeBroadcastListener.Create;
var
LIntentFilter: JIntentFilter;
begin
inherited;
FReceiver := TJFMXBroadcastReceiver.JavaClass.init(Self);
LIntentFilter := TJIntentFilter.JavaClass.init;
LIntentFilter.addAction(StringToJString('com.xxx.ACTION')); // or whatever value the profile is configured for
LIntentFilter.addCategory(StringToJString('android.intent.category.DEFAULT'));
TAndroidHelper.Context.registerReceiver(FReceiver, LIntentFilter);
end;
//***
destructor TDataWedgeBroadcastListener.Destroy;
begin
TAndroidHelper.Context.unregisterReceiver(FReceiver);
inherited;
end; |
Partager