Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Slide 3

Slide 3 text

@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

Slide 4

Slide 4 text

@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!

Slide 5

Slide 5 text

@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!

Slide 6

Slide 6 text

From Symbol to Zebra through Motorola

Slide 7

Slide 7 text

From Symbol to Zebra through Motorola

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

What is Industrial Mobility? Enterprise Mobility

Slide 10

Slide 10 text

What is Industrial Mobility? Enterprise Mobility Industrial Mobility

Slide 11

Slide 11 text

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

Evolution Android Work

Slide 14

Slide 14 text

Android for Work Evolution

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

Just Keep in Mind...

Slide 17

Slide 17 text

Just Keep in Mind...

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

Security

Slide 20

Slide 20 text

What is Work?

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

Kiosk Mode?

Slide 23

Slide 23 text

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

Managed Configurations

Slide 28

Slide 28 text

Managed Configurations Options that can be remotely set by an Administrator

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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.

Slide 32

Slide 32 text

Define M.C.

Slide 33

Slide 33 text

Define M.C. In Manifest.xml

Slide 34

Slide 34 text

Define M.C. In Manifest.xml Example:

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

Listen for Changes

Slide 40

Slide 40 text

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.

Slide 41

Slide 41 text

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

Barcode APIs

Slide 46

Slide 46 text

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

Questions?

Slide 50

Slide 50 text

THANK YOU! @pfmaggi