この例に基づいて、kinveyでプッシュ通知を受信するDelphi XE6でアプリを作成しました
アプリケーションが実行されているときにプッシュを送信すると、PushEvent ハンドラーはそれを適切に受信しますが、アプリケーションを閉じて通知を押すと、アプリのみが開きます。
どの通知が押されたかを知り、そこからパラメーターを取得できますか?
前もって感謝します。
編集:
FormCreate で Extras を要求すると、もう少し近づきます。
procedure TForm1.FormCreate(Sender: TObject);
var
LIntent: JIntent;
LExtras: JBundle;
LExtrasArray: TJavaObjectArray<AndroidApi.JNI.JavaTypes.JObject>;
begin
LIntent := SharedActivity.getIntent;
try
if LIntent <> nil then
begin
LExtras := LIntent.getExtras;
if LExtras <> nil then
begin
//Now try to get the data
LExtrasArray := LExtras.KeySet.toArray;
for I := 0 to LExtrasArray.Length - 1 do
Memo1.Lines.Add(JStringToString(LExtrasArray.Items[I].toString));
end;
end;
finally
LIntent := nil;
end;
end;
このコードでは、メモに「gcm」が表示されます。したがって、通知によってアプリが起動されると、この Extra が利用可能になります。
問題は、そのエクストラに関する情報をどのように取得するかです。試してみLExtras.getString(StringToJString('message'))
ましたが、これはプッシュメッセージの代わりに '' を書き込みます