Skip to main content
Known Participant
November 9, 2017
Question

cameraroll permission

  • November 9, 2017
  • 1 reply
  • 574 views

whats wrong with my code here?

import flash.events.PermissionEvent

import flash.permissions.PermissionStatus;

import flash.media.CameraRoll;

var cameraRoll:CameraRoll;

function checkPermission (e:Event=null):void

{

if (CameraRoll.permissionStatus != PermissionStatus.GRANTED) {

  cameraRoll.addEventListener(PermissionEvent.PERMISSION_STATUS, PermissionEventFunc)

} else {

  saveToCameraRoll()

}

}

function PermissionEventFunc(e: PermissionEvent): void {

  if (e.status == PermissionStatus.GRANTED) {

  saveToCameraRoll()

  } else {

  // permission denied

  }

function saveToCameraRoll (evt:Event=null):void

{

   var bitmap_data:BitmapData = new BitmapData(stage.stageWidth,stage.stageHeight);

  bitmap_data.draw(stage);

  cameraRoll.addBitmapData(bitmap_data);

 

}

This topic has been closed for replies.

1 reply

Known Participant
November 9, 2017

fixed it

import flash.events.PermissionEvent;

import flash.media.CameraRoll;

import flash.permissions.PermissionStatus;

var cameraRoll: CameraRoll

cameraRoll = new CameraRoll()

function checkPermission (e:Event=null):void

{

if (CameraRoll.permissionStatus != PermissionStatus.GRANTED) {

  cameraRoll.addEventListener(PermissionEvent.PERMISSION_STATUS, function (e: PermissionEvent): void {

  if (e.status == PermissionStatus.GRANTED) {

  saveToCameraRoll()

  } else {

  // permission denied

  }

  });

  try {

  cameraRoll.requestPermission();

  } catch (e: Error) {

  // another request is in progress

  }

} else {

  saveToCameraRoll()

}

}

function saveToCameraRoll(): void {

  //The bitmapData can be tweaked with different values until you get the coordinates you need, for now it takes all the available screen.

  var myBitmapData: BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);

  myBitmapData.draw(stage); //Instead of stage I would suggest a container or hide all the UI elements you don't need when the Timer has completed, so the photo will be clean.

  cameraRoll.addBitmapData(myBitmapData);

}