Technical Library
Downloading DRM content in Android
Android has support for OMA DRM 1.0 (forward lock); however, DRM APIs are not available as part of the Android SDK. Therefore, one way to download DRM content on the handset programmatically is via browser application. The application can ask the browser (via Intent) to download the DRM content, as shown:
The code snippet below demonstrates the download process using the browser:
// Assuming that object uri of type Uri points to DRM resource. try { Intent browserIntent = new Intent(); // Using explicit intent to avoid activity selector // in case of multiple browsers on handset ComponentName comp = new ComponentName( "com.android.browser", "com.android.browser.BrowserActivity"); browserIntent.setComponent(comp); browserIntent.setAction(Intent.ACTION_VIEW); browserIntent.addCategory(Intent.CATEGORY_BROWSABLE); browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); browserIntent.setData(uri); // Start the browser download activity. startActivity(browserIntent); } catch (Exception e) { //Handle Exceptions }
One of the limitations of this approach is that browser activity gets launched in the application task stack. If the user dismisses the current activity, the browser activity comes into the foreground and will need to be dismissed using the Back key.
Android Tech Tips from GlobalLogic
This Tech Tip for Android devices is provided courtesy of GlobalLogic. GlobalLogic has created a network of global innovation hubs throughout the US, India, Ukraine, China and Argentina that connects clients with 3,000 of the brightest and most innovative software minds through GlobalLogic Velocity, an award-winning platform for distributed Agile R&D.