3 Replies Latest reply on Apr 24, 2015 6:03 AM by Khai-Van Phu

    SB1 - How To Run a Local App From Applications Screen?

    Khai-Van Phu

      Hello Launchpad's members,

       

       

      SB1's Applications Screen can run WEB or EXE local app.

       

      As example Demo-MWM and Demo-Scan are both HTML app and RD Client is a thick client EXE app (see Fig 1.).

       

      SB1's file /UserDrive/config/apps.json defines the authorized applications (see Fig. 2).

       

       

      Fig 1. Launcher

      pc_capture1.bmp

       

      Fig 2. Content of apps.json

      {

        "name": "RD Client",

        "url": "rdClient"

      },

      {

        "name": "Demo-MWM",

        "url": "/Application/www/apps/DemoMWM/splash.html",

        "icon" : "http://127.0.0.1:83/Application/www/apps/DemoMWM/img/profile.png",

        "canOverwriteBadge": true

      },

      {

        "name": "Demo-Scan",

        "url": "/Application/www/apps/PriceCheck/index.html",

        "icon": "http://127.0.0.1:83/Application/www/apps/PriceCheck/price_check_icon.png"

      }

       

       

      According to the syntax of apps.json I understand how Demo-Scan & Demo-MWM's URL are mapped in SB1's system files.

      For RD Client's URL it less obvious.

      How "url": "rdClient" knows how to call \Windows\RdClient.exe in order to execute RD Client program ?

       

      My goal is to mimic the same functionnality but for a custom loaded EXE.

       

       

      Khai-Van PHU

        • Re: SB1 - How To Run a Local App From Applications Screen?
          Daniel Silva

          While it is possible to run a native exe on the device, we do not support that for user apps.  This is intended to be a thin client device. The only supported way to write an app for the SB1 is to use HTML/CSS/Javascript using the provided SB1 and RhoElements APIs. 


          There is no EMDK support for theses devices, and if you wanted to use .Net, you would probably have a hard time getting compact framework to load (not enough room).  If you have a native app running, you would also have issues with the shell and scanner not working properly (if at all).  While there are a few limited purpose native executables on the device (for staging and device management), this is not intended to be a way for you to write apps for it.


          Is there something that you want to do that is not supported by the provided APIs?

          • Re: SB1 - How To Run a Local App From Applications Screen?
            Khai-Van Phu

            Hi,

             

            I was able to find out how to launch a non web app stored in the memory of SB1 from the Shell Launcher.

            To do so, I had to write the HTML code below.

            Once the program exits, I am get back properly to the Shell Launcher.

             

            Here is the code.

             

            <!!DOCTYPE html>

            <html>

              <head>

                   <meta charset="utf-8">

                   <meta name="viewport" content="width=device-width, initial-scale=1">

                   <title></title>

                   <script src="./js/asl.js"></script>

              </head>

              <body>

                   <script>

                        window.onload = function() {

                             var hProcess = generic.LaunchProcessNonBlocking('\\"Program Files"\\ScannerDemo\\ScannerDemo.exe', '');

                             var bRetVal = generic.WaitProcess(hProcess, 5);

                             if(bRetVal) {

                                  asl.exit(); }

                        }

                   </script>

              </body>

            </html>

             

             

            Khai-Van PHU