Delphi 11.3 Android 12 接收文件:完整指南
要在Delphi 11.3 和 Android 12 中接收其他应用程序发送的文件,您需要使用Android的Intent机制。以下是一些简单的步骤:
-
在您的Delphi项目中,打开'Project'菜单,选择'Options'。
-
在'Android'选项卡中,选择'Permissions'选项卡。
-
添加以下权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> -
在您的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;
- 注册您的应用程序以接收文件。在您的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;
现在,当其他应用程序向您的应用程序发送文件时,您的应用程序将自动接收并处理它们。请注意,您需要在您的应用程序中实现文件处理逻辑,例如将文件保存到设备的特定位置或将其上传到服务器。
原文地址: https://www.cveoy.top/t/topic/n5iH 著作权归作者所有。请勿转载和采集!