Android 使swf读取自己的名称

Android 使swf读取自己的名称,android,actionscript-3,flash,Android,Actionscript 3,Flash,我正在使用flash cc创建一个应用程序。在应用程序中,我需要加载一堆游戏的外部swf文件。我需要swf文件来读取它自己的名称。我曾经 var swfName:String=decodeURIComponent(this.loaderInfo.url.split(“/”)code读取其名称。它起作用了。但我的应用程序的问题是大小。所以我不得不从apk中排除外部swf文件,并从sd卡加载它。问题是沙盒错误。因此,我使用了byteArray和loaderContext来绕过沙箱错误。它工作得很好,

我正在使用flash cc创建一个应用程序。在应用程序中,我需要加载一堆游戏的外部swf文件。我需要swf文件来读取它自己的名称。我曾经


var swfName:String=decodeURIComponent(this.loaderInfo.url.split(“/”)
code读取其名称。它起作用了。但我的应用程序的问题是大小。所以我不得不从apk中排除外部
swf
文件,并从sd卡加载它。问题是沙盒错误。因此,我使用了
byteArray
loaderContext
来绕过沙箱错误。它工作得很好,但现在swf文件不是读取自己的文件名,而是读取应用程序的名称。在使用
byteArray
加载swf文件时,是否可以让swf文件读取自己的名称?任何帮助都会很好。提前感谢。

加载程序对象是加载内容的文档根的父对象。在Loader.name属性中传递所需内容:

var aLoader:Loader;
var aSource:ByteArray;

aLoader = new Loader();
aLoader.name = "foo.swf";
aLoader.loadBytes(aSource);
然后在外部SWF的文档根中(类或框架,无关):


谢谢你的回答。但我需要swf文件读取它自己的名称,以进行交叉检查和一些安全目的。它不能读取自己的文件名吗?绕过安全性就是为什么要这样做。内容中没有嵌入文件名。您可以从某个地方加载它,也可以在运行时将其逐字节写入ByteArray,这都是一样的。您可以调查是否可以从File.applicationStorageDirectory位置加载文件,以避免沙盒错误(我不能保证这会起作用),然后,您可以从保存文件的外部文件夹中复制文件。File.applicationStorageDirectory无法避免沙盒错误。那么,您可能需要重新组织您的包,以便所有带脚本的SWF都嵌入APK中,以及您在那里拥有的所有繁重图形(您在那里打包了什么,那么繁重?)从外部位置加载。
trace(parent);     // [object Loader]
trace(parent.name) // foo.swf