如何使用Delphi 10 Seattle的Android应用做Intent的发送和接收

本文档介绍了如何在Delphi10Seattle中创建Android应用程序,以便能够发送和接收Intent。首先展示了如何通过按钮点击事件发送字符串Intent到其他应用,接着详细解释了如何配置AndroidManifest.template.xml文件以接收ACTION_SEND类型的Intent。同时,文章还讨论了在应用程序等待或关闭状态下如何正确处理OnNewIntent事件,确保能接收到Intent数据。

如何使用Delphi 10 Seattle的Android应用程序接收Intent。

我以前编写的 “ 使用Firephionek Android应用程序接收Delphi XE8的Intent ”中没有处理Activity.OnNewIntent的问题。

发送字符串到另一个应用程序

创建一个新的多设备应用程序并将TButton和TMemo放置在窗体上。

intent01

按下按钮后,输入的字符串将发送到另一个应用程序。

描述按下Button1时的事件。

创建一个JIntent并设置要发送的数据。

  Intent := TJIntent.Create;

  Intent.setType(StringToJString('text/plain'));

  Intent.setAction(TJIntent.JavaClass.ACTION_SEND);

  Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(AText));

使用Android API PackageManager类的queryIntentActivities方法,确认是否存在可以处理该意图的应用程序。

如果有可以处理的应用程序,请发送意图。

  if MainActivity.getPackageManager.queryIntentActivities(Intent,

    TJPackageManager.JavaClass.MATCH_DEFAULT_ONLY).size > 0 then

    MainActivity.startActivity(Intent)

  else

    ShowMessage('Receiver not found');

源代码如下所示:

uses

  Androidapi.JNI.GraphicsContentViewText, // JIntent

  Androidapi.Helpers, // StringToJString

  FMX.Platform.Android; // MainActivity

procedure TForm1.Button1Click(Sender: TObject);

var

  AText: string;

  Intent: JIntent;

begin

  AText := Memo1.Text

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蝈蝈(GuoGuo)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值