Game rendering and memory optimization in AIR for Android
I am coding an engine for android that uses the fastest methods so I can rapidly make android and iphone (if possible) games.
1) using GPU rendering, are the bitmapData functions like copyPixels accelerated?
in other words is it faster to use only copyPixels to render all my game objects to one bitmap or use separate sprites?
2) this is a general air question, if I want to clear memory used, like for example when moving to a new stage and I want to delete those bitmaps that been used on the previous stage.
is there a function to force them to be removed from memory, or should I just remove all the references?
also if I remove all the references from an object it will be deleted if it's listening for events from another object?
Thanks.
1. Various forum posts and articles I've seen suggest a blitting approach like copying bitmaps together gives roughly the same performance results as separate sprites with GPU rendering.
Might be a good idea to setup a processor intensive game scenario and try each for comparison? I'l be interested in hearing how you get on.
TBH I haven't tried the copyPixels approach yet, so i'll be playing around with it myself soon.
2. Yes, removing references is the way to get objects garbage collected. There are ways to force garbage collection, but they are hacky. Definitely not good practice.
And yes make sure you remove the event listeners because as you suspect, they will keep the objects alive.
There is an argument called 'use weak reference' which you can set to true when you add the event listener. This is intended to prevent them keeping objects alive, but I have seen situations where it doesn't work properly.
Similar Messages
-
AIR for Android Captive Runtime
Is it possible to package android apps with AIR (or will it be) using Flash CS5.5? I don't see anything on the web about. Just how to do it with Flex and ADT etc...
Hi,
I've made a complete working example for publishing an application with captive runtime, assets and native extensions starting from Flash CS5.5
I was able to make it thanks to hints and suggestions I found in this thread.
Note: english is not my native tongue so I hope you understand what I've written also if sometime it sounds "engrish".
Here it is the link to the zip file:
http://www.genereavventura.com/hosted/Air3NativeExtensions/AirVibrate.zip
Requirements:
- You must have Flash cs5.5 pro (obviously)
- You must have installed the overlay for Air3.0 sdk on your Flash cs5.5 pro
Here it is a link that explain how to accomplish it: http://forums.adobe.com/message/3939712
Here the steps I made.
1) Open Flash CS5.5 and create a new AIR for Android application
2) Add the swc to the libraries used by your FLA (open Actionscript 3.0 settings and add "VibrationActionScriptLibrary.swc")
Btw, you can find this "ready to use" native extension inside the zipfile that you can download from here: http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/vibration.html
However in my example you will find also a directory named "extension" that contains it.
3) Open and then close the "air for android settings": by doing this Flash will create yourapp-app.xml file in the directory where your FLA resides.
For example my fla is named "vibrate.fla" so Flash created for me a "vibrate-app.xml" file.
4) Make a copy of this "vibrate-app.xml" file by naming it "real-vibrate-app.xml" (or choose whatever name you want)
I've done this because after modyfing the original one by adding the <extension> tag (see below) I wasn't able to test my app from within Flash IDE (when I compile it it simply doesn't start)
Instead by doing this all worked fine.
5) Edit the "real-vibrate-app.xml" file by adding somewhere these lines (I added it just before the <initialWindow> tag)
<extensions>
<extensionID>com.adobe.Vibration</extensionID>
</extensions>
6) Add <uses-permission android:name="android.permission.VIBRATE"/> in the <android> <manifestAdditions> part in "real-vibrate-app.xml" file.
You should do something like this:
<android>
<manifestAdditions>
<![CDATA[<manifest>
<uses-permission android:name="android.permission.VIBRATE"/>
</manifest>]]>
</manifestAdditions>
</android>
7) Develop your application
I made a simple one that loads an external jpg and shows it on the stage: then the user can tap on it to make the phone vibrate.
The function "doVibration" is called only when the app is running on Android Device so I do not get any executions error when I run the app from within Flash Ide
8) Publish and test it to your USB connected device by launching the "publish.bat" file I have created
Open a dos prompt and move to your project directory then type publish.bat and press enter.
Note: it can be that you have to edit the bat file in order to change the path to the ADT tool that comes with Air3.0 sdk
It should be in [your adobe flash cs5.5 directory]\AIR2.6\bin\adt (rememeber, you must have installed the Air3.0 sdk overlying the old Air2.6/2.7 in the AIR2.6 directory)
Inside the bat file you can change easily the target type (captive or not) simply by commenting/decommenting the right line.
Captive version is about 8Mb more than the normal one but the big deal is that the user that installs it do not need the air runtime installed on his phone!
The "big line" that creates the package is the following one:
call %ADT_LINK% -package -target %TARGET_TYPE% -storetype pkcs12 -keystore certificate/vibrate.p12 -storepass android AirVibrate.apk real-vibrate-app.xml -extdir extensions vibrate.swf icons assets
where:
call %ADT_LINK% it's just the path to the ADT tool
-package it's the command that we want ADT to execute
-target %TARGET_TYPE% captive/non captive version
-storetype pkcs12 certificate related
-keystore certificate/vibrate.p12 path to your self signed certificate
-storepass android certificate related, I created the example certificate with "android" password and this parameters tell ADT to always use it without prompting
AirVibrate.apk the name of the Apk
real-vibrate-app.xml the apk-xml to use that is the one we modified manually above
-extdir extensions it's the path to the directory that contains the native extension
vibrate.swf the main swf
icons the icons directory
assets the assets directory (where I put the external jpg)
That's all.
If everything is correct, the batch file creates the AirVibrate.apk then installs it on your attached usb device and run it.
When you tap over the Android image that will appear, your phone should vibrate.
Now.. does someone wants to develop a Native Extension to show Admob banners in our Android Air Applications?
If I missed something, please let me know.
Thanks -
What AIR for android version should I choose to publish Flash game on Google play store ?
My team and I are almost done whith our mobile game development using Flash professional CS6.
We wonder what version of AIR for Android we should publish for as a target (in publish settings)???
because we will publish it on play store and we want it to be compatible with largest number of android phones.
knowing that users have different versions of AIRs, different Flash Players and different OS versions on their phones.
and are there any useful points we should take into consideration when publshing flash game on play store??
thanks,
AbeerThe current version of AIR (version 13) is still compatible with the same set of Android devices as version 3 was, and there no doubt have been a lot of things fixed over the last two years. So, just use AIR 13. It’s currently compatible with over 4000 devices, which should be enough I think!
-
Issue with Amazon and AIR for Android
It appears that Flash Pro CS5.5 does not create .apks properly for the Amazon Appstore. The airDownloadURL is incorrect according to Amazon and your app will likely be rejected if you try to submit it to them. In the AIR for Android Settings, when you choose "Get AIR runtime from: Amazon Appstore" in the Deployment tab, the link Flash Pro uses for the airDownloadURL property is:
http://www.amazon.com/gp/mas/dl/android/com.adobe.air
when it should be this:
http://www.amazon.com/gp/mas/dl/android?p=com.adobe.air
As far as I can tell, there is no way to edit this within Flash CS5.5 so Adobe needs to make the change in a future update. The only way I know of around this is to create your .apk manually through the command line using the AIR SDK. It should look something like this:
adt -package -target apk -airDownloadURL http://www.amazon.com/gp/mas/dl/android?p=com.adobe.air -storetype pkcs12 -keystore certificate.p12 filename.apk filename-app.xml filename.swf icon36.png icon48.png icon72.png
If you don't have any experience using the AIR SDK then do some searching online. There are a ton of good resources out there.
Good luck!
tomdeiFor me works editing of Markets.xml file at:
"C:\Program Files\Adobe\Adobe Flash CS5.5\en_US\Configuration\Android\Markets.xml"
and replacing of Amazon Appstore key to
<market name="Amazon Appstore" url="http://www.amazon.com/gp/mas/dl/android?p=com.adobe.air"/>
That's all! -
Hi there,
I just wanted to share this old blog post in case no one knew about this here (like i didn't). I have no affiliation with this person, i just think its great!
Getting Device Properties like OS,Model,Brand,SDK,Version and CPU on Air for Android
http://www.funky-monkey.nl/blog/2010/11/11/getting-device-properties-like-os-model-brand-s dk-version-and-cpu-on-air-for-andoid/
I was able to correctly identify DroidX and Motorola Xoom family edition in my test, with no ane, pretty cool!Okay. I've found an answer:
yes, you can and have to add these icons via the descriptor file, since flash wont let you. But before you do that, go into the "Air publish" settings in flash. Here, right on page 1, there is the "include files" section. Add your icon pngs there. Hit OK and exit these settings. Now open the descriptor with an editor outside of flash and write in the files like I posted above. Close. Save. Make it write protected. No go to flash and publish. -
Adobe AIR for Android - GPU Mode - Bitmap Auto-Smoothing Issue
Hi everyone
I'm having a bit of an issue with the AS3 bitmap object. I'm currently developing an 8-bit style pixel game for AIR for Android.
This game is being developed at a very low resolution and is being scaled up to maintain the charm of an old retro game.
One of the methods I'm using is drawing pixels directly to bitmap objects and scaling the object up to create the old look.
When testing on a mobile device, this works beautifully when you set the rendering method to Direct but when you change
the render method to GPU the visuals go all blurry and anti-aliased (it's as if the bitmap is being smoothed out). The mini map
for example is rendered using the setPixel method and then scaled up 9 times. Looks great on my PC but once I export it to my phone
it looks absolutely awful! This is no good as I want to keep the clean, solid pixel look to maintain the the old 8-bit feel and obviously
I'd like to stick to GPU mode due to it's speed.
Like I said, this only happens once you test on a mobile device in GPU mode - it doesn't do it on my main desktop machine or
in Direct mode. I already have the stage quality set to low and I've tried setting the bitmap's smoothing property to false but
it does nothing.
Does anyone have any suggestions as to how I can get around this?How about first blit your image to a small bitmapData, then draw it on a large bitmapData (9X larger)?
Like,
var small_bmd:BitmapData = new BitmapData(SMALL_WIDTH, SMALL_HEIGHT, false);
var large_bmd:BitmapData = new BitmapData(SMALL_WIDTH * 9, SMALL_HEIGHT * 9, false);
var bm:Bitmap = new Bitmap(large_bmd, PixelSnapping.NEVER, false);
var blitRect:Rectangle = new Rectangle(0, 0, 9, 9);
var i:uint, j:uint, blitColor:uint;
small_bmd.draw(SOURCE_IMAGE);
large_bmd.lock();
for(j = 0; j < SMALL_HEIGHT; j++){
for(i = 0; i < SMALL_WIDTH; i++){
blitColor = small_bmd.getPixel(i, j);
blitRect.x = i * 9;
blitRect.y = j * 9;
large_bmd.fillRect(blitRect, blitColor);
large_bmd.unlock();
Not sure if the code works or not, but hopefully this helps. -
Why is debugging an AIR for Android on device via USB so awful?
I've used Flash 8, Flash Pro CS4, CS5, CS5.5, and now CS6 and I have to say when it comes to debugging it is absolutely the worst environment I've ever worked in. Over the years the number of times I've successfully debugged an application can be counted on one hand. Really, its that bad. Flash will crash or stop responding. I place a breakpoint in the code and Flash will either: A) Ignore it, B) "Breakpoint not set; No executable code at line ###" C) Crash and burn. D) breakpoint turns on but can never be turned off.
Its infuriating and maddening. After this much time why can't Adobe make the debugger work?
Frankly, because of this I have to write ALOT of trace statements into my code.
Has Adobe just given up on the debugger in Flash Pro? As a developer should I be trying to convince my company to switch over to Flash Builder?
For example, right now I'm trying to debug an AIR for Android 3.4.0.2540 via USB on a Motorola Droid 2. I can publish and run in debug mode and see all my trace statements just fine. But I know the instant I need to try to set a breakpoint I'm doomed. Or if my code gets in a race condition like right now. The breakpoints in the new code I added were ignored (see B above) and I can find no options in the Debug menu to break into my app and observe what code it is currently executing. My only option is to end the debug session.
Can anyone comment on debugging in Flash Builder vs. Flash Pro? Is it any better?
Can anyone suggest a solid development environement with debugging that supports Actionscript 3 or can compile it to some other language or object code that would allow me to reliably debug code?
I'm sorry for venting like this. I like Actionscript 3 and I even like Flash Pro until it comes to debugging. But at this point I really need to consider other options so I can get some work done.Hi Chris,
I also have an HTC Legend, and I'm trying to make some tutorials about publishing from Flash Builder to Android.
I've notice this also, and I must say, it's a complete deception that AIR cannot support this phone, and certainly it seems that upgrading to the Android 2.2 was a bad option, since I defenitly was able to make a simple flash game, and some other exeperiments, and got them to work with AIR when this phone had Android 2.1
If it runs on Android 2.1, maybe it was a an upgrade that make AIR incompatible with this device on Android 2.2. Is there any way of running it, maybe forcing to install a AIR version that works.
I was starting to program on Flash Builder, and experimenting on my Legend, but now I stumbled on this.
Thanks,
Leonel -
Cant install AIR for Android on HTC Legend
Is Air for android compatible with the HTC Legend?
I have a legend running Android 2.2, but the market will not allow me to install the app. I thought it might be a temporary error so I downloaded an APK from the web, it fails and says cannot install.
The legend plays flash content in 2.2, so i cant see why AIR wouldnt be supported?
ChrisHi Chris,
I also have an HTC Legend, and I'm trying to make some tutorials about publishing from Flash Builder to Android.
I've notice this also, and I must say, it's a complete deception that AIR cannot support this phone, and certainly it seems that upgrading to the Android 2.2 was a bad option, since I defenitly was able to make a simple flash game, and some other exeperiments, and got them to work with AIR when this phone had Android 2.1
If it runs on Android 2.1, maybe it was a an upgrade that make AIR incompatible with this device on Android 2.2. Is there any way of running it, maybe forcing to install a AIR version that works.
I was starting to program on Flash Builder, and experimenting on my Legend, but now I stumbled on this.
Thanks,
Leonel -
Adobe Air for Android - caching key event that have "unusual" keycode
I am developing an application for a platform. The OS of this platform is Android Gingerbread (2.3.4) The platform has some buttons with "unusual" key code: 141, 131 etc.
Native application that created in ADT can catch and respond to these keyboard events While my Adobe AIR application (created in Flash professional) are Indifferent to them.
I try both: stage.addEventListener(KeyboardEvent.KEY_DOWN,KeyHandler,false,0,true); NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN,KeyHandler,fa lse,0,true);
How can I "catch" this event? Maybe a way to add constant to the keyboard class?
ThanksIf you are deploying for iPhone it is on the 'general' settings(First setting page opened).
Just noticed you are making android app but i still added iphone deployment settings for further future
But if you are using it for flash/android you have to add code into your fla descriptor with XML language(dont worry it is 1 line of code)
Watch the video on this page about GPU rendering:
http://blogs.adobe.com/cantrell/archives/2010/10/gpu-rendering-in-adobe-air-for-android.ht ml
Your app shouldn't lag after these steps but if you have a project that gets bigger and has lots of code it MIGHT lag so that is when external files should help. -
Air for Android Extremely Slow...
Hey everybody,
Hopefully some of you have been trying the prerelease of Air for Android like myself. Its all great and easy peasy to export the apps to my phone but it seems to be ridiculously slow even for seemingly simple scripts.
This is what i'm trying to run at the moment and the app times out before it gets running (All the apps do get running eventually but only after the time out timer could have run over multiple times).
import flash.display.Shape;
import flash.events.Event;
import flash.sensors.Accelerometer;
import flash.events.AccelerometerEvent;
var vx:Number = 0;
var vy:Number = 0;
var s:Shape = new Shape;
s.x = stage.stageWidth/2;
s.y = stage.stageHeight/2;
with (s.graphics)
lineStyle(3,0);
drawCircle(0,0,5);
addChild(s);
var accel:Accelerometer = new Accelerometer();
addEventListener(Event.ENTER_FRAME, onFrameLoop);
accel.addEventListener(AccelerometerEvent.UPDATE, onAccelEvent);
function onAccelEvent (evt:AccelerometerEvent):void
vx += evt.accelerationX;
vy += evt.accelerationY;
function onFrameLoop (evt:Event):void
s.x = Math.round(s.x + vx);
s.y = Math.round(s.y + vy);
From what I can see theres nothing actually wrong with the code from what I can see but it just takes so frickin' long to load. If I make an app with some equally simple animations it loads almost instantly. I am aware that this is only a prerelease version of the software and the documentation does say that hardware acceleration has not been added yet but whenever I watch the videos up on youtube of the Adobe team making amazing apps with obviously buckets of script running smoothly on their phone I get annoyed
P.S The processor on my phone isn't the problem either (Nexus One Eclair )If you are deploying for iPhone it is on the 'general' settings(First setting page opened).
Just noticed you are making android app but i still added iphone deployment settings for further future
But if you are using it for flash/android you have to add code into your fla descriptor with XML language(dont worry it is 1 line of code)
Watch the video on this page about GPU rendering:
http://blogs.adobe.com/cantrell/archives/2010/10/gpu-rendering-in-adobe-air-for-android.ht ml
Your app shouldn't lag after these steps but if you have a project that gets bigger and has lots of code it MIGHT lag so that is when external files should help. -
AIR for Android - best video specs?
Hello everyone,
I'm trying to develop a custom video player app using the AIR for Android extension in Flash Pro CS5.
I tried out an FLV and an MP4 video with the most stripped back code snippet, but the video still seemed a bit jerky on my phone. (Samsung Galaxy S)
// Code
var video:Video;
var connect_nc:NetConnection = new NetConnection();
connect_nc.connect(null);
var stream_ns:NetStream = new NetStream(connect_nc);
stream_ns.client = this;
video = new Video();
addChild(video);
video.attachNetStream(stream_ns);
stream_ns.play("video.flv");
Would anyone know what the ideal encoding specs are for non-jerky video? Is it something to do with H.264, or perhaps CPU vs GPU? (I tried that too, with no visible difference.) Even with the app running at the appropriate frames per second (in this case, 24fps), the video seemed less than smooth.
Any comments would be much appreciated!Hi [email protected]
These should help you:
http://www.adobe.com/devnet/devices/articles/encoding-guidelines-android.html
http://www.adobe.com/devnet/devices/articles/video-player-optimization.html
regards Mike -
I am developing an AIR for Android app. When the app is published, does anyone know where on the phone the app is stored? It would be on the internal memory as the app is never moved to the sd card.
I need to know this as the app exports a pdf file. I am using File.applicationStorageDirectory so the pdf should save in the app directory but I cant find it.
Would the app be stored in the same directory for iOS as well?
Thanks
UPDATE: 18/01/12
I have found the app location and which can be accessed with a rooted phoned.
I also have the pdf saving in the /Local Store/ directory of the app. However, is it possible to save the pdf in the sdcard directory? I have tried a relative path (../../../../../../sdcard) but that didnt work.Hi guys, any ideas?
-
Sound delay with air for android
Hi,
I am building a game with air for android, all work just perfect but I have just little problem with the sfx.
When I play sound I have 500 millisecond delay.
I tried to use wav format instead of mp3 and its help a bit but still there is a big delay.
Any ideas?
ThanksFirst, never use the nativePath property of File.applicationDirectory (as the example does). This isn't supported on Android. You get an empty string. While you could usually bypass the write-restrictions on te application directory using this technique on the desktop, it definitely does not work on Android. Always use URLs rether than native paths to refer to application files.
What you should do is create the database in the applicationStorage directory. You could do this with SQL, or by coping a "template" database file that you packaged with the application from the application directory o the application storage directory (using the URL not the native path, of course.) -
I am new to this so forgive me, but i launched a paid version of an AIR for Android App and wanted to launch a free version with ads in an attempt to see how the monetizing of an app goes. Does anyone have experience doing this with AIR for android? if so what are my options?
erikAfter a lot of trouble (account canned on ADMOB ) and research, I have gotten Ads to work in all my Android Apps. This will work on a lot of AD networks, but most will ban you click fraud. Only one network allows this method and they provide support for it too.
I have over 100 games apps. with this method implemented and working. Here is a link to one of them for you to see how it will look in game. I am using multiple ads in this to force the user to click and make me some money: https://market.android.com/details?id=air.GraffitiCityMarketFree&feature=search_result
Does LeadBolt offer HTML integration for banner ads?
LeadBolt does allow banner ads to be integrated into your app using HTML, rather than using our SDK. To create a HTML banner ad after adding an app to the LeadBolt portal, simply click “Add Ad” and select “App Banner (HTML)” from the drop down box. The HTML snippet can then be added directly into your app’s HTML framework.
So far my eCPM is $6.15
I have created this guide to show my appreciation:
Publisher Code:
STEP I:
Get an Account: http://leadboltapps.com/web/publishers/signup.php?ref=10022842
STEP II:
Click on the “APPS” tab and “Create New APP” to create an AD. Remember to change content unlocker to HTML Banner. While in the process.
STEP III:
Get the HTML AD Code and keep it safe. That is all we need from the site. How simple was that?
AD HTML FILE:
Create an HTML File and Load it to your site. Remember to replace your HTML Code from above step with where I have put: ****ENTER HTML AD CODE HERE****
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Untitled Document</title>
<style type="text/css">
body,td,th {
color: #FFF;
body {
background-color: #000;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
text-align: center;
position: relative;
</style>
</head>
<body>
****ENTER HTML AD CODE HERE****
</body>
</html>
Action Script Code:
STEP I:
Credit: I found this on another site and would like to give credit to the author of pixelpaton.com
The only change you need to make is to enter your website html url where you have placed the AD HTML FILE in the space where I have put : "****ENTER COMPLETE HTML URL HERE****". Where ever you want the AD, place the following code:
// imports
import flash.events.Event;
import flash.events.LocationChangeEvent;
import flash.geom.Rectangle;
import flash.media.StageWebView;
import flash.net.navigateToURL;
import flash.net.URLRequest;
import flash.events.MouseEvent;
// setup variables
var _stageWebView:StageWebView;
var myAdvertURL:String = "****ENTER COMPLETE HTML URL HERE****";
// check that _stageWebView doersn't exist
if (! _stageWebView) {
_stageWebView = new StageWebView () ;
// set the size of the html 'window'
_stageWebView.viewPort = new Rectangle(0,0, 800, 100);
// add a listener for when the content of the StageWebView changes
_stageWebView.addEventListener(LocationChangeEvent.LOCATION_CHANGE,onLocationChange);
// start loading the URL;
_stageWebView.loadURL(myAdvertURL);
// show the ad by setting it's stage property;
_stageWebView.stage = stage;
function toggleAd(event:MouseEvent):void {
trace("toggling advert",_stageWebView);
// check that StageWebView instance exists
if (_stageWebView) {
trace("_stageWebView.stage:"+_stageWebView.stage);
if (_stageWebView.stage == null) {
//show the ad by setting the stage parameter
_stageWebView.stage = stage;
} else {
// hide the ad by nulling the stage parameter
_stageWebView.stage = null;
} else {
// ad StageWebView doesn't exist - show create it
function destroyAd(event:MouseEvent):void {
// check that the instace of StageWebView exists
if (_stageWebView) {
trace("removing advert");
// destroys the ad
_stageWebView.stage = null;
_stageWebView = null;
function onLocationChange(event:LocationChangeEvent):void {
// check that it's not our ad URL loading
if (_stageWebView.location != myAdvertURL) {
// destroy the ad as the user has kindly clicked on my ad
destroyAd(null);
// Launch a normal browser window with the captured URL;
navigateToURL( new URLRequest( event.location ) );
// setup button listeners
Hope this works and helps you. If you have questions, let me know. Enjoy. -
Activation fails when not anwsering an incoming call Air for Android
Hi,
I'm developing a game with Adobe AIR for Android; we are handling events for Deactivate (Pausing) / Activate (just tracing for now) of the game.
It works OK when: I press home button and then go back. When I get an incoming call and answer it. When I get an incoming call and reject it. They all activate the game when finished
It doesn’t work when: I get an incoming call and I missed it (no answering, no rejection either) instead of activating the game again a black screen is showed (trace on Activate event is not fired either).
Did anyone experience the same issue?
RegardsI tried the above case on Samsung S4(v4.2.2)(Currently I have with me) with latest AIR SDK available at http://www.adobe.com/devnet/air/air-sdk-download.html and I am getting the activate and deactivate event if I get an incoming call and I missed it. Below is the code snippet I used. Please update if you are using something different.
stage.addEventListener(Event.ACTIVATE,onActivate);
stage.addEventListener(Event.DEACTIVATE, onDeactivate);
protected function onDeactivate(event:Event):void
// TODO Auto-generated method stub
trace("In the deactivate method..........");
protected function onActivate(event:Event):void
// TODO Auto-generated method stub
trace("In the activate method...........");
Could you please share the 3.7 version using adt -version command on either terminal or command promt. You can find adt at AIRSDK/bin folder.
Regards,
Nimit
Maybe you are looking for
-
I have the baseline 2012 13" MacBook Pro (2.5GHz Intel Core i5, 4GB Ram, OSx 10.8.2) and I have a copy of Windows 7 Professional 64 bit that I got from my school (burned iso to a disk) and I can get the registration code from them too. So will I be a
-
Can I create a portfolio slideshow using custom thumbnails?
Hi. After searching the forums and watching several Lynda tutorials, I can't seem find an answer to my specific question. I'm creating a new portfolio website for myself and for the actual portfolio page, I went ahead and created custom thumbnails fo
-
How can I get rid of calendar events initiated from my old email address?
I have a bunch of old reoccuring calendar events created using a previous email address. I now cannot delete them because "I" am not the originator of the event. The email doesn't exist anymore. I can decline all future occuring events, but it still
-
Signing in to WebOS on my Pre 3 for initial set up
No device I recently purchased a Pre 3 and have been unable to use it - it requires a WebOS sign in, but I get a "Sign In Failed" message each time I try. I have a valid SIM card in the phone but see "Network search..." on the phone. How do I get my
-
IN Clause issue in oracle -- not accepting more than 1000 expressions
update table_name set col1='Y' where col2 in ('a','b',.......1500 expressions) Please suggest me the best method to replace the above sql statement..