Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Life of Android Enterprise Developers in the age of Android for Work

Life of Android Enterprise Developers in the age of Android for Work

Talk delivered at droidcon Berlin 2016

Building Enterprise Software on Android is never going to be the same!
---

Writing application for Single Use Devices required in the past custom Android ROMs and a lot of trickery. With the introduction of Android for Works Google is now providing enough power to build enterprise solutions for this special use cases.
But as always, the devil is in the details: - Managed Profiles
- Device Policy Controllers
- Code defensively
- Use Content URI
In this talk I present some of the advantages embracing Android for Works and talk about what it’s still missing to reach enterprise developer nirvana.

Pietro F. Maggi

June 16, 2016
Tweet

More Decks by Pietro F. Maggi

Other Decks in Technology

Transcript

  1. Life of
    Android Enterprise Developers
    in the age of
    Android for Work
    Pietro F. Maggi
    @pfmaggi

    View Slide


  2. View Slide

  3. @PFMAGGI
    Extrovert coder with 15 years of
    experience (“pain”) from 8-bit
    MCU to HTML5 web apps. I
    spent too much time architecting
    solutions for Enterprise Mobility
    before it was trendy.
    ranting at http://pietromaggi.com

    View Slide

  4. @PFMAGGI
    Extrovert coder with 15 years of
    experience (“pain”) from 8-bit
    MCU to HTML5 web apps. I
    spent too much time architecting
    solutions for Enterprise Mobility
    before it was trendy.
    ranting at http://pietromaggi.com
    Stop me... if you can!

    View Slide

  5. @PFMAGGI
    Extrovert coder with 15 years of
    experience (“pain”) from 8-bit
    MCU to HTML5 web apps. I
    spent too much time architecting
    solutions for Enterprise Mobility
    before it was trendy.
    ranting at http://pietromaggi.com
    Stop me... if you can!

    View Slide

  6. From Symbol to Zebra
    through Motorola

    View Slide

  7. From Symbol to Zebra
    through Motorola

    View Slide

  8. CUSTOMER
    ENGAGEMENT
    INVENTORY
    MANAGEMENT
    POS – MOBILE
    & FIXED
    RFID – ITEM
    LEVEL TAGGING
    SHELF EDGE
    PRICE LABELS
    SELF SERVICE
    KIOSKS
    BLOOD &
    SPECIMEN
    LABELING
    POSITIVE
    PATIENT ID
    PHARMACY AND
    LAB
    PICKING / PUT AWAY /
    INVENTORY
    WORK IN PROCESS
    PRODUCT LABELING
    SHIPPING
    RECEIVING
    ZCommerce ET1
    SB1 MC40 TC70/75
    ZT400 GK420 QLn220
    MC3XX0
    TC55 MC9XX0 MC3190-Z MC9190-Z
    iMZ320 ZQ110 ET1
    MC40 TC70/75
    TC55
    ZD500R FX7500
    MT2000 DS6878 DS9808R RFD5500
    QLn320 MC40 TC70/75
    WAP4
    MC21XX
    KR403 ET1
    MK500 MK3100
    MK4000 CC5000
    QLn320 HC100 GK420HC
    MC55 HC MC75 HC
    CS4070 CS1504 MP6000 DS4308 DS9208 MT2000
    MC40 HC
    DS4308 HC CS4070
    HC SB1 HC DS6878 HC
    ROUTE SALES /
    INVOICING RECEIPT
    & TICKETING
    MC9XX0
    MC55 HC MC75 HC
    MC40 HC
    MC55 HC MC75 HC
    MC40 HC
    RS507
    LS3578 - ER
    WT41N0
    VC70
    QLn420
    ZT400 GK420
    MC3XX0
    MC2100
    DS457 FX9500
    TC70/75
    DS3508
    WAP4
    Xi4 ZT400 GK420
    MC9500 DS3578
    iMZ320
    MC45
    ZQ500
    MPACT & ANALYTICS
    MPACT ESL
    VH10
    MC9XX0
    MC9XX0
    RS507
    WT41N0
    MC67
    TC55
    Enterprise

    View Slide

  9. What is
    Industrial Mobility?
    Enterprise Mobility

    View Slide

  10. What is
    Industrial Mobility?
    Enterprise Mobility
    Industrial Mobility

    View Slide


  11. View Slide

  12. KNOX...
    and “Android Work”.
    • Profile Owner
    • Device Owner
    • Support both BYOD and COPE
    Google  I/O  2014:  h0ps://www.youtube.com/watch?v=FbVWtYPpzIs
    Once upon a time

    View Slide

  13. Evolution
    Android Work

    View Slide

  14. Android for Work
    Evolution

    View Slide

  15. Android for Work
    Evolution
    • Work Profiles
    • Android for Work Apps
    • Google Play for Work
    • Built-in Productivity tools
    • Consistent Management
    • Secure Business Apps

    View Slide

  16. Just Keep in Mind...

    View Slide

  17. Just Keep in Mind...

    View Slide

  18. Security
    Google  Monthly  Security  Updates  is  a  good  start
    Nexus  devices  will  con/nue  to  receive  major  updates  for  at  least  two  years  and  
    security  patches  for  the  longer  of  three  years  from  ini/al  availability  or  18  months  
    from  last  sale  of  the  device  via  the  Google  Store.
    Source:  h0p://officialandroid.blogspot.it/2015/08/an-­‐update-­‐to-­‐nexus-­‐devices.html

    View Slide

  19. Security

    View Slide

  20. What is Work?

    View Slide

  21. From BYOD to COBO & COSU
    Device Provisioning:
    • NFC staging of device
    • Setup of WiFi connection
    • Install DPC and applications

    View Slide

  22. Kiosk Mode?

    View Slide

  23. class=”best”/>

    View Slide

  24. Work ≠ Personal?
    Test application intents between both work and
    personal profiles:
    Use adb and the --user flag

    View Slide

  25. Work ≠ Personal?
    Test application intents between both work and
    personal profiles:
    Use adb and the --user flag

    View Slide

  26. Work ≠ Personal?
    Test application intents between both work and
    personal profiles:
    Use adb and the --user flag

    View Slide

  27. Managed
    Configurations

    View Slide

  28. Managed
    Configurations
    Options that can be remotely set by an Administrator

    View Slide

  29. Managed
    Configurations
    Options that can be remotely set by an Administrator
    • Declare managed configuration in the manifest

    View Slide

  30. Managed
    Configurations
    Options that can be remotely set by an Administrator
    • Declare managed configuration in the manifest
    • Use RestrictionManager to check current config

    View Slide

  31. Managed
    Configurations
    Options that can be remotely set by an Administrator
    • Declare managed configuration in the manifest
    • Use RestrictionManager to check current config
    • Listen for changes.

    View Slide

  32. Define M.C.

    View Slide

  33. Define M.C.
    In Manifest.xml

    View Slide

  34. Define M.C.
    In Manifest.xml
    Example:

    View Slide

  35. Check Configuration
    Your app is not automatically notified when other apps
    change its configuration settings.

    View Slide

  36. Check Configuration
    Your app is not automatically notified when other apps
    change its configuration settings.

    View Slide

  37. Check Configuration
    Your app is not automatically notified when other apps
    change its configuration settings.

    View Slide

  38. Check Configuration
    Your app is not automatically notified when other apps
    change its configuration settings.

    View Slide

  39. Listen for Changes

    View Slide

  40. Listen for Changes
    Note: The ACTION_APPLICATION_RESTRICTIONS_CHANGED intent is sent only to
    listeners that are dynamically registered, not to listeners that are declared in the app manifest.

    View Slide

  41. id=”barcode”/>

    View Slide

  42. Barcode APIs
    Android (GMS) Mobile Vision API
    BarcodeTracker & BarcodeDetector

    View Slide

  43. Barcode APIs
    Simple Scan-a-barcode API
    Closest thing is ZXing Intent:

    View Slide

  44. Barcode APIs
    High-volume barcode API
    A lot of third party options.
    Mostly linked to custom HW:
    [Zebra|Intermec|Honeywell|BlueBird|...]
    Android SDK

    View Slide

  45. Barcode APIs

    View Slide


  46. View Slide

  47. For further reading
    • Implementing Kiosk Mode in Android
    https://sdgsystems.com/blog/implementing-kiosk-mode-android-part-4-better-provisioning-method-
    dpc-device-owner
    • Set up Single-Purpose Devices
    https://developer.android.com/work/cosu.html
    • Set up/Test Managed Profiles
    https://developer.android.com/work/managed-profiles.html
    • Set up Managed Configurations
    https://developer.android.com/work/managed-configurations.html
    • RestrictionsManager
    https://developer.android.com/reference/android/content/RestrictionsManager.html
    • 8 ways to make your Android for Work apps even more secure
    http://googleforwork.blogspot.de/2016/06/8-ways-to-make-your-Android-for-Work-apps-even-more-
    secure.html
    • Build a Device Policy Controller
    https://developers.google.com/android/work/build-dpc
    • Zebra Developer Community
    https://developer.zebra.com/community/android

    View Slide

  48. For further reading
    • Zebra Developer Community
    https://developer.zebra.com/community/android

    View Slide

  49. Questions?

    View Slide

  50. THANK YOU!
    @pfmaggi

    View Slide