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.

3dfa913cbcfe896af79e0484084c316b?s=128

Pietro Maggi

June 16, 2016
Tweet

Transcript

  1. Life of Android Enterprise Developers in the age of Android

    for Work Pietro F. Maggi @pfmaggi
  2. <Intro/>

  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
  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!
  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!
  6. From Symbol to Zebra through Motorola

  7. From Symbol to Zebra through Motorola

  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
  9. What is Industrial Mobility? Enterprise Mobility

  10. What is Industrial Mobility? Enterprise Mobility Industrial Mobility

  11. <AfW101/>

  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
  13. Evolution Android Work

  14. Android for Work Evolution

  15. Android for Work Evolution • Work Profiles • Android for

    Work Apps • Google Play for Work • Built-in Productivity tools • Consistent Management • Secure Business Apps
  16. Just Keep in Mind...

  17. Just Keep in Mind...

  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
  19. Security

  20. What is Work?

  21. From BYOD to COBO & COSU Device Provisioning: • NFC

    staging of device • Setup of WiFi connection • Install DPC and applications
  22. Kiosk Mode?

  23. <Practices class=”best”/>

  24. Work ≠ Personal? Test application intents between both work and

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

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

    personal profiles: Use adb and the --user flag
  27. Managed Configurations

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

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

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

    Administrator • Declare managed configuration in the manifest • Use RestrictionManager to check current config
  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.
  32. Define M.C.

  33. Define M.C. In Manifest.xml

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

  35. Check Configuration Your app is not automatically notified when other

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

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

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

    apps change its configuration settings.
  39. Listen for Changes

  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.
  41. <Section id=”barcode”/>

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

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

  44. Barcode APIs High-volume barcode API A lot of third party

    options. Mostly linked to custom HW: [Zebra|Intermec|Honeywell|BlueBird|...] Android SDK
  45. Barcode APIs

  46. <RESOURCES/>

  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
  48. For further reading • Zebra Developer Community https://developer.zebra.com/community/android

  49. Questions?

  50. THANK YOU! @pfmaggi