Android API
Android的API是基于Java的。本文根据特性总结了Citrix端点管理API,并提供了API定义。
应用管理:
- isManaged
- isWrapped
MDX政策:
- getPoliciesXML
- getPolicyValue
- setPolicyChangeMessenger
共享库:
- MDXDictionary
用户数据:
- getUserName
类com.citrix.worx.sdk.MDXApplication
方法
isManaged
isManaged(上下文上下文)
检查应用程序当前是否由MDX管理,这意味着设备上安装了Citrix Secure Hub应用程序,并且在应用程序上执行了Citrix端点管理策略。端点管理后端基础设施(密钥库)查询数据加密部分密钥(秘密),MDX将使用这些密钥加密应用程序文件数据。如果应用程序被管理,则返回true。
非托管高级应用使用在Applications/Citrix/MDXToolkit/data/MDXSDK_Android/default_sdk_policies.xml中指定的端点管理策略默认值。策略不会对非托管的General应用程序强制执行。
参数
上下文-发出这个调用的Android上下文。
例子
布尔bIsManaged = MDXApplication.isManaged(context);
isWrapped
isWrapped (Context Context)
如果应用程序被MDX Toolkit包装,则返回true。
参数
上下文-发出这个调用的Android上下文。
例子
布尔bIsWrapped = MDXApplication.isWrapped(context);
getUserName
getUserName (Context Context)
返回一个字符串,该字符串包含运行mdx管理的应用程序的注册用户的用户名,无论用户登录状态如何。如果用户没有注册,应用程序没有被管理,或者应用程序没有被包装,则返回nil。
参数
上下文-发出这个调用的Android上下文。
例子
字符串userName = MDXApplication.getUserName(context);
类com.citrix.worx.sdk.MDXPolicies
方法
getPoliciesXML
getPoliciesXML (Context Context)
返回default_sdk_policies.xml的内容,每个策略一行,前缀为(match),以表示XML文件中的值与返回的值匹配MDXPolicies.getPolicyValue ().失败时返回空字符串。
参数
上下文-发出这个调用的Android上下文。
例子
字符串policyesxml = MDXPolicies.getPoliciesXML(context);
getPolicyValue
getPolicyValue (Context Context, String policyName)
返回一个字符串其中包含指定策略的当前值。返回零如果没有找到值。
参数
上下文-发出这个调用的Android上下文。
policyName—要搜索的策略名称。策略名称是策略的值PolicyName元素。
例子
字符串值= MDXPolicies.getPolicyValue(context"DisableCamera");
setPolicyChangeMessenger
public static String setPolicyChangeMessenger (Context Context, String policyName.)信使信使)
注册一个Messenger以在给定策略的值更改时接收消息。当MDX检测到Citrix Endpoint Management控制台中的策略值更改时,MDX通知此消息。然后可以使用其他api重新读取策略值并更改应用程序。返回零.
参数
上下文-发出这个调用的Android上下文。
policyName—要监控的策略名称。策略名称是策略的值PolicyName元素。
信使—当策略值发生变化时接收消息的信使。
例子
MDXPolicies。setPolicyChangeMessenger(上下文、“DisableCamera”信使);
类com.citrix.mdx.common.MDXDictionary
MDXDictionary是一个容器,用于读取和存储加密的Android键-值对包。同一个MDX安全组中的移动生产力应用程序共享一个字典。使用共享仓库API在具有相同MDX字典的应用程序之间共享托管内容。例如,您可以通过注册的应用程序共享证书和私钥,以便应用程序可以从安全仓库而不是从secure Hub获得证书。
无论私有文件加密策略和公共文件加密策略设置如何,字典都是加密存储的。开发人员在检索字典之前必须解锁仓库。
构造函数
公共MDXDictionary(MDXDictionary源代码)
构造现有MDXDictionary的副本。
参数
源-应该复制的MDXDictionary。
public MDXDictionary(字符串名,Bundle包,长序列)
从名称、包和序列号构造MDXDictionary。如果不知道序列号,请使用create()工厂方法。
参数
的名字-字典的名字。
包——Android捆绑包。
序列-序列号。
方法
创建(Context Context, String name)
通过首先检查同名字典是否已经存在来创建字典。如果字典不存在,则返回一个新字典。否则,将返回现有的字典。此方法永不返回零.
参数
上下文-发出这个调用的Android上下文。
的名字-字典的名字。
例子
//创建一个字典实例。
MDXDictionary dict = MDXDictionary.create(getContext(), "app-settings");
删除上下文上下文,字符串名称
按名称删除字典。返回真正的在成功;返回假在失败。
参数
上下文-发出这个调用的Android上下文。
的名字-字典的名字。
例子
//创建一个字典实例。
MDXDictionary.delete (getContext(),“app-settings”);
查找MDXDictionary的上下文和字符串名称
查找现有的字典。返回一个现有的字典;返回零如果没有找到字典。
参数
上下文-发出这个调用的Android上下文。
的名字-字典的名字。
例子
MDXDictionary dict = MDXDictionary.find(getContext(),"app-settings");
if(dict != null){//使用字典}
public boolean isNew()
检查这是新字典还是现有字典。返回真正的如果字典还不存在。
例子
MDXDictionary dict = MDXDictionary.create(getContext(), "app-settings");
if (dict.isNew()){//没有找到字典。} else{//找到现有的字典。}
公共布尔值保存(上下文上下文)
存储加密字典。如果存在同名的字典,则将覆盖该字典。返回真正的在成功;返回假在失败。
参数
上下文-发出这个调用的Android上下文。
例子
MDXDictionary dict = MDXDictionary.find(getContext(), "app-settings");
if(dict != null){字符串证书= getCertificate();dict.bundle。putString("secret-certificate",证书);//通过覆盖现有的bundle来更新bundle。字典保存(getContext ());}
公共布尔值附加(上下文上下文)
将加密字典追加到现有字典。如果不存在字典,则存储指定的字典。返回真正的在成功;返回假在失败。
参数
上下文-发出这个调用的Android上下文。
例子
MDXDictionary dict = MDXDictionary.find(getContext(), ";app-settings");
if(dict != null){字符串证书= getCertificate();Bundle Bundle = new Bundle();包。putString("secret-certificate",证书);字典包=包;字典追加(getContext ());//注意dict。包may not match the state of the // bundle that was stored. The stored bundle could be // larger. }
公共布尔值删除
删除字典。返回真正的在成功;返回假在失败。
参数
上下文-发出这个调用的Android上下文。
例子
MDXDictionary dict = MDXDictionary.find(getContext(), "app-settings");
if(dict != null) {dict.delete(getContext());}
笔记和注意事项
- 构造函数将抛出IllegalArgumentException当传入错误参数时。
- 的create ()操作将永远不会返回null。如果加密策略已启用,则用户有责任确保加密策略已解锁create ()被称为。
- 的append ()如果可解析或序列化的存储对象不是已知的Java或Android数据类型,则操作可能失败。安全中心无法解组字典,因为安全中心内部不知道该类。
- 的append ()操作将其绑定包附加到现有的字典绑定包。如果所存储的bundle与字典中的bundle不同,则本地bundle将不会反映所存储的bundle的状态。一个find ()操作或create ()操作是查询以前存储的bundle的状态所必需的。