#android #actionscript-3 #air
#Android #actionscript-3 #air
Вопрос:
Этот код отлично работает в настольном приложении Air, но совсем не работает в Android. разве это еще невозможно в air для Android? вот мой код.
var theImage:BitmapData = new BitmapData(imageArea.width,imageArea.height);
theImage.draw(imageArea);
var jpgStream:ByteArray = theEncoder.encode(theImage);
var fileName:String = "pf_" int(Math.random() * 10000) ".jpg";
while(File.userDirectory.resolvePath("DCIM/Camera/" fileName).exists)
fileName = "pf_" int(Math.random() * 10000) ".jpg";
trace(fileName);
var fl:File = File.userDirectory.resolvePath("DCIM/Camera/" fileName);
var fs:FileStream = new FileStream();
trace(fl.url);
try{
fs.open(fl,FileMode.WRITE);
fs.writeBytes(jpgStream);
fs.close();
}catch(e:Error){
trace(e.message);
}
Я получаю эту трассировку на fl.url
file:///mnt/sdcard/DCIM/Camera/pf_2570.jpg
область изображения — это гибкая группа с несколькими отображаемыми дочерними элементами. Спасибо
Ответ №1:
Я не пытался отлаживать ваш код, но то, что вы делаете, должно работать. Безусловно, на Android можно записывать в файлы с помощью AIR. Вы уверены, что в jpgStream есть данные?
Ответ №2:
Вы добавили разрешение Android на запись содержимого на SD-карту? (или внешнее хранилище)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />