USER_IDLE or USER_PRESENT event in adobe air for ios

Hi All,
Does anybody is having any idea that how can we detect the user Idle time in Adobe air based ios mobile application.
For a desktop based air project this can eaisly be defined by the below two events:-
1) flash.events.Event.USER_IDLE
2) flash.events.Event.USER_PRESENT
But its very painfull to know that these events are not going to work with the mobile applications.
If anybody is having any idea,please let me know.
Any help will be appriciated.
with Regards,
Shardul

This is possible a possible workaround on mobile. I am currently testing this on iOS.
Use:
import mx.core.FlexGlobals;
import mx.core.mx_internal;
import mx.events.FlexEvent;
import mx.managers.ISystemManager;
systemManager = Application(FlexGlobals.topLevelApplication).systemManager;
systemManager.addEventListener(FlexEvent.IDLE, userIdleHandler);
and then the handler looks something like this:
private function userIdleHandler(e:FlexEvent):void
     if(e.currentTarget.mx_internal::idleCounter == 300){ //300 = 30 seconds
       trace("idle timeout");
       //do stuff
The only real problem Im having with it is that if the user hits the home button and the app suspends, upon resuming the idleCounter is > the threshold number and never gets reset when the user is making touches/presses/clicks.
If you guys refine this post your updates.
Thanks,
Jason

Similar Messages

  • How to record a time-limited video with Adobe AIR for iOS

    I am trying to record a time-limited video with Adobe AIR for iOS.
    For example, I want to implement the following function. Start a one-minute timer before launching CameraUI to record video. When the timeout event happens after one minute, stop recording video, close the CameraUI view and obtain the video data so far.
      I have several questions related to that.
      1. How to stop recording video from outside the CameraUI view(in this case, from the timeout event handler) and then close the CemeraUI view? As far as I know, to close the CameraUI view, the only way is to press the [Use Video] button or the [Cancel] button from inside the CameraUI view. Is it possible to close it from outside?
      2. Even if the first problem mentioned above is solved, then how can I get the video data so far(in this case, the video data before the timeout). I know that normally we can get a MediaPromise object from MediaEvent parameter of the  complete handler, and read the video data from the MediaPromise object. But obviously in this case, we can not access the MediaPromise object just because the complete handler itself will not be executed since the [Use Video] button is not pressed.
      3. Is it possible to add a stopwatch to show possible remaining recording time when CameraUI view is open? It seems that the CameraUI automatically uses the full screen of iOS device(in my case, iPad) and there is no extra space to show the stopwatch.
      Are there any solutions or workarounds about the three problem above? I really appreciate it if anyone has any idea about this. Thanks in advance.

    You'd have more control by using the Camera object, showing the camera on a video object inside a Sprite, and capturing that. Then you could put whatever graphics alongside it on the stage.. I've used FlashyWrappers in a test to capture the video to the library.  It took some work, but the test worked well...
    Flash/AIR record videos of your apps and games: Rainbow Creatures

  • Does Adobe AIR for iOS support APNs?

    Does Adobe AIR for iOS support the Apple Push Notification Service (APNs)?
    for more information on APNs see:
    http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/Remote NotificationsPG/ApplePushService/ApplePushService.html

    It is exactly the same.
    Do I need to add the mobileprovision in any step of the resigning process?
    Inside the unpacjed ipa, i've fund a Info.plist.
    This seems to be the plist file generated from adt.
    Do I need to integrate my entitlement with the original one?
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
        <dict>
            <key>CFBundleAllowMixedLocalizations</key>
            <true/>
            <key>CFBundleVersion</key>
            <string>0.0.0</string>
            <key>CFBundleShortVersionString</key>
            <string>0.0.0</string>
            <key>CFBundleIdentifier</key>
            <string>XXXXXXXX</string>
            <key>CFBundleInfoDictionaryVersion</key>
            <string>6.0</string>
            <key>CFBundleExecutable</key>
            <string>iBatteryExample</string>
            <key>CFBundleDisplayName</key>
            <string>iBatteryExample</string>
            <key>CFBundlePackageType</key>
            <string>APPL</string>
            <key>DTCompiler</key>
            <string>4.2</string>
            <key>DTPlatformBuild</key>
            <string>8C134</string>
            <key>DTPlatformName</key>
            <string>iphoneos</string>
            <key>DTPlatformVersion</key>
            <string>4.2 Seed 2</string>
            <key>DTSDKName</key>
            <string>iphoneos4.2</string>
            <key>DTXcode</key>
            <string>0325</string>
            <key>DTXcodeBuild</key>
            <string>10M2423</string>
            <key>LSRequiresIPhoneOS</key>
            <true/>
            <key>MinimumOSVersion</key>
            <string>4.0</string>
            <key>NSMainNibFile</key>
            <string>MainWindow</string>
            <key>NSMainNibFile~ipad</key>
            <string>MainWindow-iPad</string>
            <key>CFBundleResourceSpecification</key>
            <string>ResourceRules.plist</string>
            <key>UIStatusBarHidden</key>
            <false/>
            <key>renderMode</key>
            <string>auto</string>
            <key>CTRequestedDisplayResolution</key>
            <string>high</string>
            <key>DebugMode</key>
            <false/>
            <key>CTSoftKeyboardBehavior</key>
            <string>none</string>
            <key>CTNamespaceURI</key>
            <string>http://ns.adobe.com/air/application/3.0</string>
            <key>CTAutoOrients</key>
            <true/>
            <key>CTInitialWindowTitle</key>
            <string>iBatteryExample</string>
            <key>CTInitialWindowContent</key>
            <string>xxxxx.app/xxxxxxxx.swf</string>
            <key>CTMaxSWFMajorVersion</key>
            <string>13</string>
            <key>CFBundleSupportedPlatforms</key>
            <array>
                <string>iPhoneOS</string>
            </array>
            <key>UIDeviceFamily</key>
            <array>
                <string>1</string>
                <string>2</string>
            </array>
            <key>aps-environment</key>
            <string>development</string>
            <key>com.apple.developer.aps-environment</key>
            <string>development</string>
            <key>get-task-allow</key>
            <true/>
            <key>UIRequiredDeviceCapabilities</key>
            <array>
                <string>armv7</string>
                <string>opengles-2</string>
            </array>
            <key>UISupportedInterfaceOrientations</key>
            <array>
                <string>UIInterfaceOrientationPortrait</string>
                <string>UIInterfaceOrientationPortraitUpsideDown</string>
                <string>UIInterfaceOrientationLandscapeRight</string>
                <string>UIInterfaceOrientationLandscapeLeft</string>
            </array>
            <key>Extensions</key>
            <array>
                <string>myExtension</string>
            </array>
        </dict>
    </plist>
    as you can see it already contains the aps-environment value because I've added it in my appdescriptor file.
    Any idea?
    Thanks

  • Doki, one of the biggest Adobe Air for iOS projects, released yesterday

    I am proud to present one of the biggest Adobe Air for iOS projects, that was released yesterday. Amazingly, the project completed in less that a year. Doki is a unique modern method of learning the basics of a foreign foreign language without the use of grammar and writing.  Through colourful animated scenarios and characters, Doki brings to life a number of languages through real life situations, humour and interactive exercises. Exclusively designed for the iPad 2, New iPad, and iPhone 4S, Doki teaches five different languages: English, French, German, Iberian Spanish and Latin American Spanish. Each language has two levels: Doki and Doki Further.  Both levels have been designed to teach the basics of these languages so that you can communicate with confidence.  In Doki, a beginner’s level, the learner navigates through 14 chapters or ‘places’ in Doki City, listens and repeats the phrases and then solves simple interactive exercises.  Each chapter is divided into lessons (a total of 51) that present key words and phrases in English and the other languages Doki covers. Doki Further, a more advanced beginner’s level, consists of 9 chapters with 28 lessons that take place in Doki City.
    The development of Doki is based entirely on Adobe Air . The result is spectacular. With a development team that consisted of 5 programmers, 2 designers, 3 language specialists, one assistant programmer, plus a team of 4 testers, the gigantic project of 14 apps was completed in less than a year, resulting in very low development costs!
    Please visit http://www.dokispeak.com for further details.

    Pretty cool.

  • Multi Touch not supported in Adobe Air for IOS?

    Hi, I've just started developing my first app for my iPhone which is an iPhone 3GS. I'm using CS5 to make these apps.
    I did a simple test game where there are two arrows on the screen and a fire button. The screen also has a ground and the player standing on it which can be controlled with left/right and fire. Now, if I press right, he moves right, if I press left, he moves left, if I press fire, he jumps... BUT no matter what I do I can't make dual touch work, ie: I press right AND fire, it only recognize just ONE touch point. So I did alot of researching and didn't find much.  I thought maybe adding a TouchEvent.TOUCH_TAP which I found a guide on on this page: http://openexhibits.org/support/gestures/1/one-finger-tap , but couldn't make it work, so I found this: http://www.adobe.com/devnet/flash/articles/multitouch_gestures.html and it seems Adobe Air for iPhone only allows four different gestures, no TouchEvents. I found a code somewhere that when run it checks to see if the device it's running on supports TOUCH_TAP stuff and in CS5 I got the message that it is not supported, in Adobe Device Central I get it's supported, on the actual phone (yes, got dev license from Apple and all that and can run my apps from CS5 on my iphone) I get it IS supported, but it doesn't work when I try it for real.
    So, my question is: how can I make Adobe Air using CS5 to detect 2 finger presses at the same time in iPhone apps?  Like pressing right+fire at the same time, so it doesn't just detect ONE of them being pressed.
    Thanks a million for any reply.

    Before listening for TouchEvents like TOUCH_BEGIN, TOUCH_MOVE, TOUCH_END etc... you need to set the input mode of your device to TOUCH_POINT. By default it is set to GESTURE.
    This works fine on the iPAD:
    import flash.ui.Multitouch;
    import flash.ui.MultitouchInputMode;
    Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
    stage.addEventListener(TouchEvent.TOUCH_BEGIN, touchBegin);
    stage.addEventListener(TouchEvent.TOUCH_MOVE, touchMove);
    stage.addEventListener(TouchEvent.TOUCH_END, touchEnd);
    private function touchBegin(te:TouchEvent):void {
        // your code here
    private function touchMove(te:TouchEvent):void {
        // your code here
    private function touchEnd(te:TouchEvent):void {
        // your code here
    Hope that helps.

  • Adobe Air for iOS - SQLError: 'Error #3115' no such table

    I am developing Adobe Air application for iOS with sqlite on it. When running on my local machine, it worked like charm (add, edit & delete). Unfortunately, when tried running on iPAD, it gives me the following error:
    SQLError: 'Error #3115', details:'no such table: 'tblEmploye'', operation:'execute', detailID:'2013'
    Here's my code when opening the sqlite database: ** data file is saved on the current application directory where all the files are stored:
            exampleDBFile = File.documentsDirectory.resolvePath("mydb.db");
            if (exampleDBFile==null || !exampleDBFile.exists) {
                MovieClip(root).mcSong.visible = false;
                MovieClip(root).mcAlert.visible = true;
                MovieClip(root).mcAlert.enabled = true;
                MovieClip(root).mcAlert.txtErrorMessage.text = "Database not found";
            exampleDB = new SQLConnection();
            exampleDB.addEventListener(SQLEvent.OPEN, onExampleDBOpened);
            exampleDB.addEventListener(SQLErrorEvent.ERROR, onExampleDBError);
            //exampleDB.openAsync(exampleDBFile);
            exampleDB.open(exampleDBFile);
    I also tried using the following but still no luck
    exampleDBFile = File.applicationDirectory.resolvePath("mydb.db");           
    when using this, i receive a different error : Error:Error #3104
    And heres the code for adding new entries
            sqlInsert = "insert into tblLyrics (empName, empDesc) values
                        ('"+ strReplace(txtSearchMe.text, "'", "") + "','"+ strReplace(txtContent.text,"'","") +"')";
            dbStatement.text = sqlInsert;       
            dbStatement.addEventListener(SQLEvent.RESULT, onDBStatementInsertResult);       
            dbStatement.execute();
    Hoping for your advice....

    Hi,
    I am sorry you are facing this issue. Is the code that you posted all that you are doing? It is missing a few things:
    1) You are not creating the dbFile and the table tblEmployee. Do they already exist on your desktop? On device, you would need to create them.
    2) dbStatement.SQLConnection property is not set anywhere.
    The following sample code is from http://help.adobe.com/en_US/air/reference/html/flash/data/SQLConnection.html. Could you try and see if it works for you?
    package
         import flash.data.SQLConnection;
         import flash.data.SQLResult;
         import flash.data.SQLStatement;
         import flash.display.Sprite;
         import flash.events.SQLErrorEvent;
         import flash.events.SQLEvent;
         import flash.filesystem.File;
         public class MultipleInsertTransactionExample extends Sprite
              private var conn:SQLConnection;
              private var insertEmployee:SQLStatement;
              private var insertPhoneNumber:SQLStatement;
              private var dbFile:File
              public function MultipleInsertTransactionExample():void
                   // define where to find the database file
                   //var appStorage:File = File.applicationDirectory;
              dbFile = new File(File.documentsDirectory.nativePath + File.separator + "ExampleDatabase.db");
                   // open the database connection
                   conn = new SQLConnection();
                   conn.addEventListener(SQLErrorEvent.ERROR, errorHandler);
                   conn.addEventListener(SQLEvent.OPEN, openHandler);
                   conn.openAsync(dbFile);
              // Called when the database is connected
              private function openHandler(event:SQLEvent):void
                   conn.removeEventListener(SQLEvent.OPEN, openHandler);
                   // start a transaction
                   conn.addEventListener(SQLEvent.BEGIN, beginHandler);
                   conn.begin();
              // Called when the transaction begins
              private function beginHandler(event:SQLEvent):void
                   conn.removeEventListener(SQLEvent.BEGIN, beginHandler);
                   // create and execute the first SQL statement:
                   // insert an employee record
                   var createEmployees:SQLStatement = new SQLStatement();
                   createEmployees.sqlConnection = conn;
                   createEmployees.text =
                        "CREATE TABLE IF NOT EXISTS employees(lastName, firstName, email, birthday) ";
                   createEmployees.execute();
                   insertEmployee = new SQLStatement();
                   insertEmployee.sqlConnection = conn;
                   insertEmployee.text =
                        "INSERT INTO employees (lastName, firstName, email, birthday) " +
                        "VALUES (:lastName, :firstName, :email, :birthday)";
                   insertEmployee.parameters[":lastName"] = "Smith";
                   insertEmployee.parameters[":firstName"] = "Bob";
                   insertEmployee.parameters[":email"] = "[email protected]";
                   insertEmployee.parameters[":birthday"] = new Date(1971, 8, 12);
                   insertEmployee.addEventListener(SQLEvent.RESULT, insertEmployeeHandler);
                   insertEmployee.addEventListener(SQLErrorEvent.ERROR, errorHandler);
                   insertEmployee.execute();
              // Called after the employee record is inserted
              private function insertEmployeeHandler(event:SQLEvent):void
                   insertEmployee.removeEventListener(SQLEvent.RESULT, insertEmployeeHandler);
                   insertEmployee.removeEventListener(SQLErrorEvent.ERROR, errorHandler);
                   // Get the employee id of the newly created employee row
                   var result:SQLResult = insertEmployee.getResult();
                   var employeeId:Number = result.lastInsertRowID;
                   // Add a phone number to the related phoneNumbers table
                   var createTab:SQLStatement = new SQLStatement();
                   createTab.sqlConnection = conn;
                   createTab.text =
                        "CREATE TABLE IF NOT EXISTS phoneNumbers(employeeId, type, number)";
                   createTab.execute();
                   insertPhoneNumber = new SQLStatement();
                   insertPhoneNumber.sqlConnection = conn;
                   insertPhoneNumber.text =
                        "INSERT INTO phoneNumbers (employeeId, type, number) " +
                        "VALUES (:employeeId, :type, :number)";
                   insertPhoneNumber.parameters[":employeeId"] = employeeId;
                   insertPhoneNumber.parameters[":type"] = "Home";
                   insertPhoneNumber.parameters[":number"] = "(555) 555-1234";
                   insertPhoneNumber.addEventListener(SQLEvent.RESULT, insertPhoneNumberHandler);
                   insertPhoneNumber.addEventListener(SQLErrorEvent.ERROR, errorHandler);
                   insertPhoneNumber.execute();
              // Called after the phone number record is inserted
              private function insertPhoneNumberHandler(event:SQLEvent):void
                   insertPhoneNumber.removeEventListener(SQLEvent.RESULT, insertPhoneNumberHandler);
                   insertPhoneNumber.removeEventListener(SQLErrorEvent.ERROR, errorHandler);
                   // No errors so far, so commit the transaction
                   conn.addEventListener(SQLEvent.COMMIT, commitHandler);
                   conn.commit();
              // Called after the transaction is committed
              private function commitHandler(event:SQLEvent):void
                   conn.removeEventListener(SQLEvent.COMMIT, commitHandler);
                   trace("Transaction complete");
              // Called whenever an error occurs
              private function errorHandler(event:SQLErrorEvent):void
                   // If a transaction is happening, roll it back
                   if (conn.inTransaction)
                        conn.addEventListener(SQLEvent.ROLLBACK, rollbackHandler);
                        conn.rollback();
                   trace(event.error.message);
                   trace(event.error.details);
              // Called when the transaction is rolled back
              private function rollbackHandler(event:SQLEvent):void
                   conn.removeEventListener(SQLEvent.ROLLBACK, rollbackHandler);
                   // add additional error handling, close the database, etc.
    Thanks,
    Sanika

  • Adobe Air for iOS and Android: FlasCC or Native Extension?

    Hi all,
    Who know - what provide better perfomance. FlasCC or Native Extension? For example for Math calculations, bitmapdata modification and etc.

    Well nothing prevent you from mixing flascc with native extension.
    Also, I think that you can also use domain memory in AS3 with the Bytearray class (not sure about that).
    Flascc vs normal as3 is mostly a question of language (portability) Do you want to write as3 or c++?
    Native extension give you speed and native platform access(platform specific feature).
    So, you should think about it this way:
    AS3, run in flash and air. Is sandboxed. Can use domain memory, but it's a bit harder to leverage than flascc.
    Flascc, run in flash and air. Is sandboxed, Can use domain memory. Give you the potential of leveraging the hundreds of opensources lib already out there.
    Native extension, run ONLY in air. Is not sandboxed. Native memory management. Also let you leverage the c++ lib. 
    The best (in my opinion) is to write native code for mobile and desktop (no air or flascc involve) and use flascc for the flash/web platform. It's harder, because you have write portable native code (lots of abstraction), but you mostly have the same problem with native extension.

  • Adobe Air for iOS - How to access or read current playing music

    Hi guys, is there a way in AS3 how to detect the current song playing, for example I want to get the title of the music that is currently playing?

    Hi,
    This doesn't seem possible in AIR at present. However, in the future version, you should be able to achieve this. No AIR API will be added, but you should be able to write some native code to get this information. I believe this can be done using the iPod Library.
    Thanks,
    Sanika

  • Adobe Air for iOS compiling error

    I have a dilemma I hope someone can help me understand. I have a sports app that is currently live in the appstore and I am trying to revamp it. The app has a section for all 30 teams of that sport. The way I'm making the app is by adding code for 5 teams data at a time then testing. After getting to the point where there is code for 15 teams I can no longer compile the IPA file, I can remove some teams code then compile. I compile through the command line on a PC with Air 3.9. My project is created using Flash Pro CS6 and I dont use any ANE.
    There error I'm getting is:
    ld: symbol(s) not found for architecture armv7
    Compilation failed while executing : ld64
    I've tried compiling on a Mac with a terminal window but same error. I've searched this error and people suggested using the -platformsdk command in the commandline pointing to iOSSDK 7.0 but that didnt work either. I need to know if someone else has experienced this and got past it.

    Good News. Hope this helps others. Try using AIRSDK 4.0 beta, released today, Dec 3. It is improved for heavy coded project and the compile time is way faster. In the command line just add
    -useLegacyAOT no
    to use that feature, it will not by defeault. Check out the Air release notes.
    Downside is just working on mac for now but can't wait for it work on PC because that is my preferred choice.

  • Maximum file size for Adobe air for Androind and iOS compiled apps

    Hi All
    I am working on a project which has a few videos which I need to bundle into my mobile app for an Ipad app I am creating using Adobe Air for iOS. My question is simple is there a maximum file size limit on apps compiled using Adobe air for iOS? And if so what is it? Any help would be great.
    regards Mike

    Hi.  Im not a 100% sure this is correct.  I am able to make a large .IPA file (200+Mb) and it will go onto my iPad 1, but it does not work - Just quicts after a few secs.  If I run the same IPA on my iPad 2 it works.
    When I take out some of the assets so its a smalelr size then it does run on the iPad.

  • 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?
    Thanks

    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.

  • Partial wakelock in Adobe Air for Android

    I'm developing Adobe Air (for Android) application which is intended to be constantly on. App has event based operations. However, when phone enters to sleep mode app is able to perform only one or few events in a second which is not good enough. AIR's SystemIdleMode.KEEP_AWAKE -mode is not an alternative since it is too battery consuming.
    I'm looking for a solution where phone is allowed to go into sleep mode (screen is off) but still CPU performance is not drastically dropped. Not sure if Android's partial wakelock -mode does the job and is available via ANE?

    Well Im a bit puzzled now. I just created a quick AIR app using AIR13 for Android and did a DEACTIVATE test on the NativeApplication.nativeApplication property and used a TextField to "trace" out the frame rate when the app deactivated. The frame rate stayed at 24FPS the entire time. I turned the screen off, let it turn off, went to the home screen, and switched to other apps while the test app was still running. In all cases, the frame rate never dropped to 4FPS as indicated in Adobe's documentation. So it is either something a bug or feature of AIR13+ or it is how Android KitKat handles applications in the background. Im using an unlocked/stock Moto X running Android 4.4.3. The app also appends the getTimer() call to the end so you can see that it does change. Here is a link to the quick app I created: Dropbox - deactivate.apk
    I guess if you want to download that and test it out to see how it behaves on your device and let me know the results. What device and OS are you running?
    Below is the original message I started to type before I decided to create a quick app to test with. It may or may not still be relevant based on your results from my app test.
    If you are looking at just recording information, you could probably setup something on the Android/Java side that gets started when the app "sleeps" using the DEACTIVE event as a trigger to start the ANE side of things. Then when your app "wakes", you could use the ACTIVATE event to trigger a call to the ANE to pull all the data collected in the Java side back to AIR and stop the ANE data capture since the data capture would be back to being handled by AIR.

  • Problem about inject event to Adobe AIR to control the games running on it

    We have some question about Adobe AIR for android, and would somebody mind to teach us about it,
    and your reply is my pleasure。
    the problem is:
      Doe's Adobe AIR for Android provide a interface for the other  android application, and we can use
      our android application to   inject some event( up / down / left / right keys for example)
      to control the flash game running in Adobe AIR.
    and what i want is:
      Make an appliction on android os , and can control(send key event to) the flash games running
      based on  the Andrid AIR.
    and if Adobe AIR does not provide the interface:
      Is there a good idea to do what i want.
    Thank you very much.

    Some background information about the Adobe Flash Protected Mode for '''''christ1'''.
    http://blogs.adobe.com/security/2012/06/inside-flash-player-protected-mode-for-firefox.html
    Intel(R) HD Graphics 4600 that you have is a relatively low end graphics card and low end for on-board graphics chips, whichever you have. ''Unless that is a laptop that switches drivers for "gaming" which puts a lot more load on the hardware and runs the battery out a lot faster.'' Technically the HD 4600 ''should'' be enough for web browsing, but Flash is a lot more than simple web browsing.
    IMO, if disabling the Flash Protected Mode solves that issue - do that. Or upgrade your hardware, especially if you have a separate Graphics Card ''[vs an on-board chip]'' or can install a better card in a desktop computer.
    As far as YouTube videos goes, have you tried using the HTML5 setting for YouTube?
    https://www.youtube.com/html5
    Make that setting and Google will deliver HTML5 video when it is available for each "clip". From what I have seen ''[I'm not a big user of YouTube, though]'', like maybe 75% of the clips I see are available in HTML5 - ''ymmv''.
    BTW, Mozilla is working on eliminating the need for even having to use Flash. They're working a a project which is code-named Shumway to play SWF-format files.
    http://mozilla.github.io/shumway/
    You can download it from that page, but it is at the early stages of development and needs a lot more work before it is truly usable.

  • Problems with BBC iPlayer Desktop and Adobe Air for Mac

    I would be grateful for anyone who can help me with a problem I have on my Laptop running Mac OS X Lion 10.7.3.I am having difficulty running BBC iPlayer Desktop and I suspect it is caused by Adobe Air.
    Recently I was prompted to update Adobe Air to the latest version (as of February 2012) and after I successfully updated the program, this began to cause problems when I used BBC iPlayer desktop.
    The first problem I noticed was that I was unable to play any downloaded programmes in full screen - only the sound played, not the video.
    Secondly, a few weeks after this problem began, all my TV programmes mysteriously disappeared.
    My final problem is that everytime I launch BBC iPlayer it is unable to download new programmes - when I am connected to the internet, the application still says it is "offline".
    I have tried to resolve the problem by restarting my computer, uninstalling and reinstalling BBC iPlayer, disabling and re-enabling my firewall, connecting to the internet in different locations but this has not resolved the problem.
    I tried to uninstall Adobe Air, but the installation package tells me it is 'corrupt'. So I tried to download and reinstall the application from the adobe website, but the computer already recognises that the app is installed. i.e. - I can't uninstall or reinstall Adobe Air.
    I contacted BBC iPlayer support and they were unable to help - directing me to your website. I have read several other discussion topics posted on this website but not found the solution I am looking for.
    Please can some help me to solve this problem, by helping me uninstall and reinstall Adobe Air for Mac?
    I am not very technical minded - for example - I don't know what log files are or how to find them - so please explain it as simply as possible.
    Thank you in advance for your help!
    Ryan

    Just had the same thing happen AGAIN. Suddenly - a blank iPlayer Desktop which failed to download new programmes. All previous programmes were still in the repository folder. This time the sequence I outlined previously didn't work.
    What eventually got things working this time was to reinstall Adobe Air as part of the BBC iPlayer Desktop installation process - and not separately.
    So:
    a) Move iPlayer to trash.
    b) Find and delete the following folder: Users/Yourname/Library/Preferences/BBCiPlayerDesktop.61DB7A798358575D6A969CCD73DDBBD 723A6DA9D.1
    c) Find and delete the following folder:
    Users/Yourname/Library/Application Support/Adobe/AIR/ELS/BBCiPlayerDesktop.61DB7A798358575D6A969CCD73DDB BD723A6DA9D.1
    d) Find and delete the following folder:
    Users/Yourname/Movies/BBC iPlayer/repository/cache
    e) Find and run: Applications/Utilities/Adobe AIR Uninstaller
    f) Empty the Trash. I found that bits and pieces of BBC iPlayer were still running despite having been quit and dumped in the trash - and so it wouldn't allow me to complete this part. Restarted the computer, then empty the trash.
    g) Find the folder: Users/Yourname/Movies/BBC iPlayer/repository and rename it repository2
    h) Reinstall iPlayer. It will tell you that you have no programmes to view. Quit the programme.
    i) Find and delete the folder: Users/Yourname/Movies/BBC iPlayer/repository
    j) Find the folder: Users/Yourname/Movies/BBC iPlayer/repository2 and rename it to repository.
    k) Relaunch iPlayer
    It would be terribly nice if the BBC or Adobe stopped buggering about with this . . .

  • Adobe Air for Android 2.3.4

    I need Adobe Air for Android 2.3.4 Urgently.
    I recently made an app on Flash CS5.5 and it installed correctly.
    It said to install adobe air
    But then it said "This prodict is not comptable with this version of..."
    ANY help?

    Hi,
    Please download latest AIR3.4 SDK from http://www.adobe.com/devnet/air/air-sdk-download.html.
    Look for the runtime.apk present in the AIRSDK folder \runtimes\air\android\device.
    Install the AIR3.4 runtime on android device using command(Refer http://help.adobe.com/en_US/air/build/WSfffb011ac560372f-5d0f4f25128cc9cd0cb-7ff6.html) -
    adt -installRuntime -platform android -device deviceID -package path-to-runtime
    The above steps will install latest AIR runtime on Android device.
    Please note that - Applications created and published from Flash Professional CS6 for Android platforms will run on devices that run Google Android™ 2.2 operating system or higher.
    Thanks,
    Meenakshi
    Flash Pro Engg Team

Maybe you are looking for