无法在Android 6.0中创建SD卡中的文件夹,在发布模式下使用Adobe Flex代码ANE扩展
这是在Android 6.0的SD卡中使用Flex代码创建文件夹的代码,添加了ANE扩展,AIR版本24.0和swf = 35。在调试模式下工作,但不工作释放模式。请帮助我。无法在Android 6.0中创建SD卡中的文件夹,在发布模式下使用Adobe Flex代码ANE扩展
如果(library.Utility.getDeviceType()== “ANDROID”)
{
var permissionCheck : File;
permissionCheck = new File(pdfFile.nativePath);
permissionCheck.addEventListener(PermissionEvent.PERMISSION_STATUS , function permissionStatusHandler(e : PermissionEvent) :void
{
permissionCheck.removeEventListener(PermissionEvent.PERMISSION_STATUS , permissionStatusHandler);
if(e.status == PermissionStatus.GRANTED)
{
// save your file
pdfFolder = File.userDirectory.resolvePath(".Folder");
if(!pdfFolder.exists)
pdfFolder.createDirectory();
trace(pdfFolder.nativePath);
//pdfFile = File.applicationStorageDirectory.resolvePath("pdf/" +file);
var targetFile:File = File.userDirectory.resolvePath(".Folder/" +file);
trace(targetFile.nativePath);
if(targetFile.exists)
targetFile.deleteFile();
if(!targetFile.exists && pdfFile.exists)
{
try
{
pdfFile.copyTo(targetFile);
Template.showFile(targetFile.nativePath);
}
catch(error:Error)
{
Popup.showMessage("PDF Viewer", "Unable to open " + file + ". File does not exists. " + error.message);
trace("Error:" + error.message);
}
}
else
{
Popup.showMessage("PDF Viewer", "Unable to find " + file + ". File does not exists.");
}
}
else
{
//showPermissionError();
trace("Error"+ pdfFolder.nativePath);
}
});
try
{
permissionCheck.requestPermission();
}
catch(error : Error)
{
trace("Error:" + error.message);
}
}
你应该尝试的痕迹(如许可状态,pdfFolder.exists等)写入到textfield,以便您可以在发布模式下本地化问题。
还监听targetFile上的IOErrorEvent.IO_ERROR和SecurityErrorEvent.SECURITY_ERROR,并将它们跟踪到文本字段,可能存在一些问题。
通常情况下,您应该将应用程序文件保存在File.applicationStorageDirectory而不是userDirectory中,但我想您希望该用户可以自己访问这些文件?
尝试没有点(“文件夹”而不是“.Folder”)的文件夹。
在Android上,您将需要授予的权限写入文件可以在您的application.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
希望anythign它会帮助:)
Logcat也有助于这种调试。 – Brian
嗨Philarmon和大脑,我已经在上述所有步骤中测试过。但在发布模式下“无法创建文件夹”意味着“Template.showFile(targetFile.nativePath);”方法不叫。 –
我认为在发布模式下,如果(library.Utility.getDeviceType()==“ANDROID”)这不是调用...? –
'这是代码在一个文件中创建文件夹SD卡“那是不可能的。您无法在文件中创建文件夹。无处。 – greenapps
'var permissionCheck:File; '这是哪种语言? – greenapps
它是Adobe Flex代码 –