我正在开发一个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
上面的基本代码是基于以下文档实现的:
https://developer.android.com/reference/android/drm/package-summary.html
https://developer.android.com/reference/android/drm/DrmInfoRequest.html
现在链接 4解释了有关 drm 的信息,但使用MediaPlayer
的是示例,但我的是 epub 文件。即使执行acquireDrmInfo()
与上述 3 个链接不同。
此链接专门针对媒体播放器Exoplayer
,因此没有太大帮助。
注意:下载 epub 文件后,用户应该可以离线阅读,所以我认为不会有任何在线活动。
那么如何修复上述错误,是否有更好的使用 Android.Drm 框架的教程?