以下是Delphi写Android 12文件分享的代码:

首先,需要在uses语句中添加FMX.Platform.Android、Androidapi.JNI.GraphicsContentViewText和Androidapi.JNI.Net包。

然后,可以使用以下代码实现文件分享:

  1. 获取文件路径
var
  FilePath: string;
begin
  FilePath := '/storage/emulated/0/Download/test.png'; // 文件路径
  1. 创建Intent对象
var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  1. 设置Intent属性
Intent.setAction(TJIntent.JavaClass.ACTION_SEND); // 设置Intent为分享
Intent.setType(StringToJString('image/*')); // 设置分享类型为图片
Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, TJParcelable.Wrap(TAndroidHelper.JFileToJParcelable(TJFile.JavaClass.init(StringToJString(FilePath))))); // 设置分享的文件
  1. 启动Intent
TAndroidHelper.Activity.startActivity(Intent);

完整代码:

uses
  FMX.Platform.Android, Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.Net;

procedure TForm1.Button1Click(Sender: TObject);
var
  FilePath: string;
  Intent: JIntent;
begin
  FilePath := '/storage/emulated/0/Download/test.png'; // 文件路径

  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_SEND); // 设置Intent为分享
  Intent.setType(StringToJString('image/*')); // 设置分享类型为图片
  Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, TJParcelable.Wrap(TAndroidHelper.JFileToJParcelable(TJFile.JavaClass.init(StringToJString(FilePath))))); // 设置分享的文件

  TAndroidHelper.Activity.startActivity(Intent); // 启动Intent
end;

需要注意的是,如果应用没有文件读写权限,需要先获取权限才能分享文件。可以使用以下代码获取权限:

if not TAndroidHelper.Context.checkSelfPermission(TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE) = TJPackageManager.JavaClass.PERMISSION_GRANTED then
begin
  TAndroidHelper.Activity.requestPermissions([TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE], 0);
end;
``
delphi如何写andriod12的文件分享代码必须能通过编译

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

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