我正在使用Delphi XE5和Firemonkey构建一个播放视频文件的Android应用程序: 这段代码正在运行:
var
Intent: JIntent;
fChosenVideo : string;
Data: Jnet_Uri;
fChosenVideo := IncludeTrailingPathDelimiter(TPath.GetSharedDownloadsPath) + 'myVideo.mp4';
Data := TJnet_Uri.JavaClass.parse(StringToJString('file://' + fChosenVideo));
Intent := TJIntent.Create;
Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
Intent.setDataAndType(Data, StringToJString('video/mp4'));
SharedActivity.startActivity(Intent);
但我真的希望它可以从应用私人文件夹中播放:
fChosenVideo := IncludeTrailingPathDelimiter(TPath.GetDocumentsPath)+'myMovie.mp4';
我发现我应该能够设置权限,以便外部应用程序可以通过在某处设置MODE_WORLD_READABLE来读取文件,但我似乎无法掌握如何实现此目的。
感谢任何帮助。 提前致谢 Jens Fudge
答案 0 :(得分:1)
您的问题已经回答here
将文件放到公共场所后,您可能希望更改MODE_WORLD_READABLE等属性。
在德尔福你用这样的东西来做这件事:
var
xFas: TFileAttributes;
begin
sFnExt = '/sdcard/file1.mp4';
xFas:= System.IOUtils.TFile.GetAttributes(sFnExt);
Include(xFas,TFileAttribute.faOthersRead);
System.IOUtils.TFile.SetAttributes(sFnExt,xFas);