public class DrmManagerClient
extends Object
implements AutoCloseable
java.lang.Object | |
↳ | android.drm.DrmManagerClient |
DRM框架的主要编程接口。 应用程序必须实例化此类以通过DRM框架访问DRM代理。
Nested classes |
|
---|---|
interface |
DrmManagerClient.OnErrorListener 接收有关DRM框架错误信息的回调的接口定义。 |
interface |
DrmManagerClient.OnEventListener 接收有关DRM处理事件信息的回调的接口定义。 |
interface |
DrmManagerClient.OnInfoListener 在注册和权限获取期间接收状态消息和警告的回调的接口定义。 |
Constants |
|
---|---|
int |
ERROR_NONE 表示请求已成功或未发生错误。 |
int |
ERROR_UNKNOWN 表示发生了错误,原因未知。 |
Public constructors |
|
---|---|
DrmManagerClient(Context context) 创建一个 |
Public methods |
|
---|---|
DrmInfo |
acquireDrmInfo(DrmInfoRequest drmInfoRequest) 检索注册,取消注册或获取权限的信息。 |
int |
acquireRights(DrmInfoRequest drmInfoRequest) 处理给定的 |
boolean |
canHandle(String path, String mimeType) 检查是否可以处理给定的MIME类型或路径。 |
boolean |
canHandle(Uri uri, String mimeType) 检查是否可以处理给定的MIME类型或URI。 |
int |
checkRightsStatus(String path) 检查给定内容是否具有有效权限。 |
int |
checkRightsStatus(Uri uri) 检查给定内容是否具有有效权限。 |
int |
checkRightsStatus(String path, int action) 检查给定的受权限保护的内容是否具有指定的 |
int |
checkRightsStatus(Uri uri, int action) 检查给定的受版权保护的内容是否具有指定的 |
void |
close() 释放与当前DrmManagerClient会话关联的资源。 |
DrmConvertedStatus |
closeConvertSession(int convertId) 通知DRM插件(代理)没有更多数据要转换或发生错误。 |
DrmConvertedStatus |
convertData(int convertId, byte[] inputData) 转换作为受权限保护文件一部分的输入数据(内容)。 |
String[] |
getAvailableDrmEngines() 检索有关在DRM框架中注册的所有DRM插件(代理)的信息。 |
ContentValues |
getConstraints(String path, int action) 检索受权限保护的内容的约束信息。 |
ContentValues |
getConstraints(Uri uri, int action) 检索受权限保护的内容的约束信息。 |
int |
getDrmObjectType(Uri uri, String mimeType) 使用指定的URI或MIME类型检索受权限保护的对象的类型(例如,内容对象,权限对象等)。 |
int |
getDrmObjectType(String path, String mimeType) 使用指定的路径或MIME类型检索受权限保护的对象的类型(例如,内容对象,权限对象等)。 |
ContentValues |
getMetadata(String path) 检索受权限保护的内容的元数据信息。 |
ContentValues |
getMetadata(Uri uri) 检索受权限保护的内容的元数据信息。 |
String |
getOriginalMimeType(Uri uri) 检索嵌入在原始内容中的MIME类型。 |
String |
getOriginalMimeType(String path) 检索嵌入在原始内容中的MIME类型。 |
int |
openConvertSession(String mimeType) 启动新的转换会话。 |
int |
processDrmInfo(DrmInfo drmInfo) 根据信息类型处理给定的DRM信息。 |
void |
release() 此方法在API级别24中已被弃用。替换为 |
int |
removeAllRights() 删除与DRM框架相关的每个DRM插件(代理)的所有权限信息。 |
int |
removeRights(String path) 删除与给定的受权限保护的内容相关的权利。 |
int |
removeRights(Uri uri) 删除与给定的受权限保护的内容相关的权利。 |
int |
saveRights(DrmRights drmRights, String rightsPath, String contentPath) 将权限保存到指定路径并将该路径与内容路径相关联。 |
void |
setOnErrorListener(DrmManagerClient.OnErrorListener errorListener) 注册一个 |
void |
setOnEventListener(DrmManagerClient.OnEventListener eventListener) 注册 |
void |
setOnInfoListener(DrmManagerClient.OnInfoListener infoListener) 注册一个 |
Protected methods |
|
---|---|
void |
finalize() 当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface java.lang.AutoCloseable
|
DrmManagerClient (Context context)
创建一个 DrmManagerClient
。
Parameters | |
---|---|
context |
Context : Context of the caller. |
DrmInfo acquireDrmInfo (DrmInfoRequest drmInfoRequest)
检索注册,取消注册或获取权限的信息。
Parameters | |
---|---|
drmInfoRequest |
DrmInfoRequest : The DrmInfoRequest that specifies the type of DRM information being retrieved. |
Returns | |
---|---|
DrmInfo |
A DrmInfo instance. |
int acquireRights (DrmInfoRequest drmInfoRequest)
处理给定的 DrmInfoRequest
并异步返回权限信息。
这是一个实用程序方法,由acquireDrmInfo()
和processDrmInfo()
方法调用组成。 只有在选定的DRM插件(代理程序)支持这一系列调用时,才能使用此实用程序方法。 某些DRM代理(如OMA)不支持此实用程序方法,在这种情况下,应用程序必须分别调用acquireDrmInfo()
和processDrmInfo()
。
Parameters | |
---|---|
drmInfoRequest |
DrmInfoRequest : The DrmInfoRequest used to acquire the rights. |
Returns | |
---|---|
int |
ERROR_NONE for success; ERROR_UNKNOWN for failure. |
boolean canHandle (String path, String mimeType)
检查是否可以处理给定的MIME类型或路径。
Parameters | |
---|---|
path |
String : Path of the content to be handled. |
mimeType |
String : MIME type of the object to be handled. |
Returns | |
---|---|
boolean |
True if the given MIME type or path can be handled; false if they cannot be handled. |
boolean canHandle (Uri uri, String mimeType)
检查是否可以处理给定的MIME类型或URI。
Parameters | |
---|---|
uri |
Uri : URI for the content to be handled. |
mimeType |
String : MIME type of the object to be handled |
Returns | |
---|---|
boolean |
True if the given MIME type or URI can be handled; false if they cannot be handled. |
int checkRightsStatus (String path)
检查给定内容是否具有有效权限。
Parameters | |
---|---|
path |
String : Path to the rights-protected content. |
Returns | |
---|---|
int |
An int representing the DrmStore.RightsStatus of the content. |
int checkRightsStatus (Uri uri)
检查给定内容是否具有有效权限。
Parameters | |
---|---|
uri |
Uri : URI of the rights-protected content. |
Returns | |
---|---|
int |
An int representing the DrmStore.RightsStatus of the content. |
int checkRightsStatus (String path, int action)
检查给定的受权限保护的内容是否具有指定的 DrmStore.Action
有效权限。
Parameters | |
---|---|
path |
String : Path to the rights-protected content. |
action |
int : The DrmStore.Action to perform. |
Returns | |
---|---|
int |
An int representing the DrmStore.RightsStatus of the content. |
int checkRightsStatus (Uri uri, int action)
检查给定的受权限保护的内容是否具有指定的 DrmStore.Action
有效权限。
Parameters | |
---|---|
uri |
Uri : URI for the rights-protected content. |
action |
int : The DrmStore.Action to perform. |
Returns | |
---|---|
int |
An int representing the DrmStore.RightsStatus of the content. |
void close ()
释放与当前DrmManagerClient会话关联的资源。 在应用程序中不再需要DrmManagerClient
对象时调用此方法被认为是一种好的做法。 调用此方法后, DrmManagerClient
不再可用,因为它已经丢失了所需的全部资源。
DrmConvertedStatus closeConvertSession (int convertId)
通知DRM插件(代理)没有更多数据要转换或发生错误。 在成功转换数据后,DRM代理将提供一个偏移值,指示应该添加标题和主体签名的位置。 附加签名对保护转换文件的完整性是必要的。
Parameters | |
---|---|
convertId |
int : Handle for the conversion session. |
Returns | |
---|---|
DrmConvertedStatus |
A DrmConvertedStatus object that contains the status of the data conversion, the converted data, and the offset for the header and body signature. |
DrmConvertedStatus convertData (int convertId, byte[] inputData)
转换作为受权限保护文件一部分的输入数据(内容)。 转换后的数据和状态将返回到DrmConvertedStatus
对象中。 每次应用程序接收到新的数据块时都应调用此方法。
Parameters | |
---|---|
convertId |
int : Handle for the conversion session. |
inputData |
byte : Input data that needs to be converted. |
Returns | |
---|---|
DrmConvertedStatus |
A DrmConvertedStatus object that contains the status of the data conversion, the converted data, and offset for the header and body signature. An application can ignore the offset because it is only relevant to the closeConvertSession() method. |
String[] getAvailableDrmEngines ()
检索有关在DRM框架中注册的所有DRM插件(代理)的信息。
Returns | |
---|---|
String[] |
A String array of DRM plug-in descriptions. |
ContentValues getConstraints (String path, int action)
检索受权限保护的内容的约束信息。
Parameters | |
---|---|
path |
String : Path to the content from which you are retrieving DRM constraints. |
action |
int : Action defined in DrmStore.Action . |
Returns | |
---|---|
ContentValues |
A ContentValues instance that contains key-value pairs representing the constraints. Null in case of failure. The keys are defined in DrmStore.ConstraintsColumns . |
ContentValues getConstraints (Uri uri, int action)
检索受权限保护的内容的约束信息。
Parameters | |
---|---|
uri |
Uri : URI for the content from which you are retrieving DRM constraints. |
action |
int : Action defined in DrmStore.Action . |
Returns | |
---|---|
ContentValues |
A ContentValues instance that contains key-value pairs representing the constraints. Null in case of failure. |
int getDrmObjectType (Uri uri, String mimeType)
使用指定的URI或MIME类型检索受权限保护的对象的类型(例如,内容对象,权限对象等)。 至少必须指定一个参数来检索DRM对象类型。
Parameters | |
---|---|
uri |
Uri : URI for the content or null. |
mimeType |
String : MIME type of the content or null. |
Returns | |
---|---|
int |
An int that corresponds to a DrmStore.DrmObjectType . |
int getDrmObjectType (String path, String mimeType)
使用指定的路径或MIME类型检索受权限保护的对象的类型(例如,内容对象,权限对象等)。 至少必须指定一个参数来检索DRM对象类型。
Parameters | |
---|---|
path |
String : Path to the content or null. |
mimeType |
String : MIME type of the content or null. |
Returns | |
---|---|
int |
An int that corresponds to a DrmStore.DrmObjectType . |
ContentValues getMetadata (String path)
检索受权限保护的内容的元数据信息。
Parameters | |
---|---|
path |
String : Path to the content from which you are retrieving metadata information. |
Returns | |
---|---|
ContentValues |
A ContentValues instance that contains key-value pairs representing the metadata. Null in case of failure. |
ContentValues getMetadata (Uri uri)
检索受权限保护的内容的元数据信息。
Parameters | |
---|---|
uri |
Uri : URI for the content from which you are retrieving metadata information. |
Returns | |
---|---|
ContentValues |
A ContentValues instance that contains key-value pairs representing the constraints. Null in case of failure. |
String getOriginalMimeType (Uri uri)
检索嵌入在原始内容中的MIME类型。
Parameters | |
---|---|
uri |
Uri : URI of the rights-protected content. |
Returns | |
---|---|
String |
MIME type of the original content, such as video/mpeg . |
String getOriginalMimeType (String path)
检索嵌入在原始内容中的MIME类型。
Parameters | |
---|---|
path |
String : Path to the rights-protected content. |
Returns | |
---|---|
String |
The MIME type of the original content, such as video/mpeg . |
int openConvertSession (String mimeType)
启动新的转换会话。 每次下载需要转换的受权限保护的文件时,应用程序都必须使用此方法启动转换会话。
此方法仅适用于正向锁定(复制保护)DRM方案。
Parameters | |
---|---|
mimeType |
String : MIME type of the input data packet. |
Returns | |
---|---|
int |
A convert ID that is used used to maintain the conversion session. |
int processDrmInfo (DrmInfo drmInfo)
根据信息类型处理给定的DRM信息。
Parameters | |
---|---|
drmInfo |
DrmInfo : The DrmInfo to be processed. |
Returns | |
---|---|
int |
ERROR_NONE for success; ERROR_UNKNOWN for failure. |
int removeAllRights ()
删除与DRM框架相关的每个DRM插件(代理)的所有权限信息。 将在主重置期间使用。
Returns | |
---|---|
int |
ERROR_NONE for success; ERROR_UNKNOWN for failure. |
int removeRights (String path)
删除与给定的受权限保护的内容相关的权利。
Parameters | |
---|---|
path |
String : Path to the rights-protected content. |
Returns | |
---|---|
int |
ERROR_NONE for success; ERROR_UNKNOWN for failure. |
int removeRights (Uri uri)
删除与给定的受权限保护的内容相关的权利。
Parameters | |
---|---|
uri |
Uri : URI for the rights-protected content. |
Returns | |
---|---|
int |
ERROR_NONE for success; ERROR_UNKNOWN for failure. |
int saveRights (DrmRights drmRights, String rightsPath, String contentPath)
将权限保存到指定路径并将该路径与内容路径相关联。
注意:对于OMA或WM-DRM, rightsPath
和 contentPath
可以为空。
Parameters | |
---|---|
drmRights |
DrmRights : The DrmRights to be saved. |
rightsPath |
String : File path where rights will be saved. |
contentPath |
String : File path where content is saved. |
Returns | |
---|---|
int |
ERROR_NONE for success; ERROR_UNKNOWN for failure. |
Throws | |
---|---|
IOException |
If the call failed to save rights information at the given rightsPath . |
void setOnErrorListener (DrmManagerClient.OnErrorListener errorListener)
注册一个 DrmManagerClient.OnErrorListener
回调,当DRM框架发送错误信息时调用该回调。
Parameters | |
---|---|
errorListener |
DrmManagerClient.OnErrorListener : Interface definition for the callback. |
void setOnEventListener (DrmManagerClient.OnEventListener eventListener)
注册 DrmManagerClient.OnEventListener
回调,当DRM框架发送有关DRM处理的信息时调用该回调。
Parameters | |
---|---|
eventListener |
DrmManagerClient.OnEventListener : Interface definition for the callback. |
void setOnInfoListener (DrmManagerClient.OnInfoListener infoListener)
注册一个 DrmManagerClient.OnInfoListener
回调,当DRM框架在注册或权限获取期间发送状态或警告信息时调用该回调。
Parameters | |
---|---|
infoListener |
DrmManagerClient.OnInfoListener : Interface definition for the callback. |
void finalize ()
当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类会覆盖finalize
方法以处置系统资源或执行其他清理。
的常规协定finalize
是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 finalize
方法可以采取任何行动,包括使该对象再次可用于其他线程; 然而, finalize
的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。
类Object
的finalize
方法Object
执行特殊操作; 它只是正常返回。 Object
子类可能会覆盖此定义。
Java编程语言不保证哪个线程将为任何给定对象调用finalize
方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。
在针对某个对象调用 finalize
方法后,将不会采取进一步的操作,直到Java虚拟机再次确定不再有任何途径可以通过任何尚未死亡的线程访问此对象,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。
对于任何给定的对象,Java虚拟机永远不会多次调用 finalize
方法。
finalize
方法引发的任何异常 finalize
导致终止此对象的终止,但会被忽略。
Throws | |
---|---|
Throwable |