2

我正在开发一个ebook reader作为 android 应用程序。但我希望下载的电子书文件(例如 epub)受到 DRM 保护。我参考了下面提到的链接并尝试实现它,但结果出现错误。我处于实施 DRM 的初级阶段。

我的代码:

    DrmManagerClient drmManagerClient = new DrmManagerClient(getApplicationContext());
    DrmInfoRequest drmInfoRequest = new DrmInfoRequest(0, "text/plain"); //<--- Error in this line
    DrmInfo drmInfo = drmManagerClient.acquireDrmInfo(drmInfoRequest);
    Log.e("sth...: ", drmInfo.getInfoType() + "");

错误:

java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.user.androiddrm/com.example.user.androiddrm.MainActivity}:java.lang.IllegalArgumentException:infoType:0,mimeType:text/plain

上面的基本代码是基于以下文档实现的:

  1. https://developer.android.com/reference/android/drm/package-summary.html

  2. https://developer.android.com/reference/android/drm/DrmManagerClient.html#acquireDrmInfo(android.drm.DrmInfoRequest)

  3. https://developer.android.com/reference/android/drm/DrmInfoRequest.html

  4. https://source.android.com/devices/drm#DrmInfo

现在链接 4解释了有关 drm 的信息,但使用MediaPlayer的是示例,但我的是 epub 文件。即使执行acquireDrmInfo()与上述 3 个链接不同。

链接专门针对媒体播放器Exoplayer,因此没有太大帮助。

注意:下载 epub 文件后,用户应该可以离线阅读,所以我认为不会有任何在线活动。

那么如何修复上述错误,是否有更好的使用 Android.Drm 框架的教程?

4

0 回答 0