要在Delphi 11.3 和 Android 12 中接收其他应用程序发送的文件,您需要使用Android的Intent机制。以下是一些简单的步骤:

  1. 在您的Delphi项目中,打开'Project'菜单,选择'Options'。

  2. 在'Android'选项卡中,选择'Permissions'选项卡。

  3. 添加以下权限:

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

  4. 在您的Delphi代码中,编写一个事件处理程序,用于处理收到的文件。例如:

procedure TForm1.HandleIntent(const Data: JIntent);
var
  Uri: Jnet_Uri;
  FilePath: string;
begin
  if Data.getAction.equals(TJIntent.JavaClass.ACTION_SEND) then
  begin
    Uri := Data.getParcelableExtra(TJIntent.JavaClass.EXTRA_STREAM);
    if Assigned(Uri) then
    begin
      FilePath := JStringToString(Uri.getPath);
      // 处理收到的文件
    end;
  end;
end;
  1. 注册您的应用程序以接收文件。在您的Delphi代码中,添加以下代码:
procedure TForm1.FormCreate(Sender: TObject);
var
  Filter: JIntentFilter;
begin
  Filter := TJIntentFilter.Create;
  Filter.addAction(TJIntent.JavaClass.ACTION_SEND);
  Filter.addCategory(TJIntent.JavaClass.CATEGORY_DEFAULT);
  Filter.addDataType('*/*'); // 接收所有类型的文件
  TJFMXNativeActivity.Wrap(TAndroidHelper.Activity).registerReceiver(
    TJBroadcastReceiver.JavaClass.init(TJFMXBroadcastReceiver.JavaClass, Self),
    Filter);
end;

现在,当其他应用程序向您的应用程序发送文件时,您的应用程序将自动接收并处理它们。请注意,您需要在您的应用程序中实现文件处理逻辑,例如将文件保存到设备的特定位置或将其上传到服务器。

Delphi 11.3 Android 12 接收文件:完整指南

原文地址: https://www.cveoy.top/t/topic/n5iH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录