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

Life of Android Enterprise Developers in the a...

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. @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
  2. @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!
  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 Stop me... if you can!
  4. 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
  5. 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
  6. Android for Work Evolution • Work Profiles • Android for

    Work Apps • Google Play for Work • Built-in Productivity tools • Consistent Management • Secure Business Apps
  7. 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
  8. From BYOD to COBO & COSU Device Provisioning: • NFC

    staging of device • Setup of WiFi connection • Install DPC and applications
  9. Work ≠ Personal? Test application intents between both work and

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

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

    personal profiles: Use adb and the --user flag
  12. Managed Configurations Options that can be remotely set by an

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

    Administrator • Declare managed configuration in the manifest • Use RestrictionManager to check current config
  14. 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.
  15. 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.
  16. Barcode APIs High-volume barcode API A lot of third party

    options. Mostly linked to custom HW: [Zebra|Intermec|Honeywell|BlueBird|...] Android SDK
  17. 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