Android enterprise application development


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Android enterprise application development

  1. 1. Android Enterprise Application Development Device Administration API
  2. 2. Enterprises and Mobiles• Every employee use mobile, most of them migrating to smart-phones.• Big enterprises’ IT departments buy mobiles in bulk and issue them to employees.• Smartphone as business phone : Workplace acceptance?
  3. 3. Workplace Acceptance of a mobile phone• Personal needs?• Social needs?• Productivity needs?
  4. 4. Workplace Acceptance of a mobile phone• Personal needs?• Social needs?• Productivity needs?• IT department requirements?
  5. 5. What they demand from your phone?• Data security• Device management• Applications
  6. 6. Data Security Loss and theft Interception Employees
  7. 7. Device Management• Registering different devices in company’s network• Specific security policies for organization• User support• Keeping an eye
  8. 8. Deploying Applications
  9. 9. Deploying Applications To Enhance productivity
  10. 10. Deploying Applications To Enhance productivity DistributionIdentify Usage Buy or build to Updates apps policies employees
  11. 11. So how Android fits here?
  12. 12. So how Android fits here?• VPN Support and secure Wi-Fi• Exchange email• Password / PIN Lock• Device Policies• Remote Lock / remote wipe API• Exchange calendar
  13. 13. So how Android fits here?• Exchange Active Sync• NFC Platform support for read, write, P2P &• Improving continuously…
  14. 14. What is there for developers?
  15. 15. What is there for developers? Device Administration API
  16. 16. Device Administration API• From 2.2• For “security aware ” apps• For almost all type of enterprise mobile solutions
  17. 17. Application + Device administration API = IT people are watching you!
  18. 18. Application + Device administration API = You get the (sensitive) data!
  19. 19. Device Administration API• Password policy• Remote wipe• Disable Camera• Enforced data encryption• Remote lock
  20. 20. Show me the API’s• DeviceAdminReceiver• DevicePolicyManager• DeviceAdminInfo
  21. 21. DeviceAdminReceiver• Broadcast Receiver to receive the raw system events• Must include a subclass of this receiver• Action : DEVICE_ADMIN_ENABLED• Permission : BIND_DEVICE_ADMIN• Handles the event when user “enables” the admin application
  22. 22. AdminReceiver in Manifest<receiver android:name=“.app.SampleAdmin” android:label=“@string/admin_string” android:description="@string/sample_description” android:permission="android.permission.BIND_DEVICE_ADMIN" ><meta-data android:name="" android:resource="@xml/admin_sample_meta" /><intent-filter> <action android:name="" /></intent-filter></receiver>
  23. 23. To Enable the device admin appIntent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, adminReceiverObject); intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATI ON, “Some explanation."); startActivityForResult(intent, RESULT_ENABLE);
  24. 24. DeviceAdminInfo : Meta data : usage policies<limit-password /><reset-password /><force-lock /><wipe-data /><expire-password /><encrypted-storage />
  25. 25. public class SampleAdmin extends DeviceAdminReceiver { @Override public void onEnabled(Context context, Intent intent) { } @Override public CharSequence onDisableRequested(Context context, Intent intent) { return “Custom message "; } @Override public void onDisabled(Context context, Intent intent) { } @Override public void onPasswordChanged(Context context, Intent intent) { }}
  26. 26. DevicePolicyManager• To manage policies• Can be related to one or more admin receiversDevicePolicyManager objDPM = (DevicePolicyManager)getSystemService(Conte xt.DEVICE_POLICY_SERVICE);objDevicePolicyManager. isAdminActive(objDeviceAdminSample)
  27. 27. DevicePolicyManager• To set all password policies• To perform device lock• To perform data wipeIntent intent = new Intent(DevicePolicyManager.ACTION_SET_NEW_PASSWORD); startActivity(intent);objDPM.setPasswordQuality(objDeviceAdminReceiver, DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC);long timeMs =1000 *5 *60;// 5 minutes objDPM.setMaximumTimeToLock(objDeviceAdminReceiver, timeMs);
  28. 28. • Lock now : objDevicePolicyManager.lockNow();• Data wipe : objDevicePolicyManager.wipeData(0); //argument currently must be zero
  29. 29. Q? Paramvir Singh Consultant, Xebia @param_vir88 +919779623863