MDM能力为在华为设备上使用的、经过授权的应用,提供了深度管理华为设备的功能。
在这个Codelab中,您将创建Demo Project并将MDM Engine的SDK集成到Demo Project中,以及调用MDM Engine API实现对移动设备与应用的安全管理。
MDM能力API经过授权后才能使用,请按照接入准备中的说明为授权做准备。
buildscript {
repositories {
google()
jcenter()
maven { url 'https://developer.huawei.com/repo/' }
}
dependencies {
classpath "com.android.tools.build:gradle:4.1.1"
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://developer.huawei.com/repo/' }
}
}
dependencies {
compileOnly 'com.huawei.mdm:mdmkit:11.0.0.300'
}
例如,下面示例调用禁止WIFI,禁止截屏等API。
private class SampleOnClickListener implements OnClickListener {
@Override
public void onClick(View view) {
try {
switch (view.getId()) {
case R.id.disableWifi:
mDeviceRestrictionManager.setWifiDisabled(mAdminName, true);
break;
case R.id.enableWifi:
mDeviceRestrictionManager.setWifiDisabled(mAdminName, false);
break;
case R.id.disableScreenCapture:
mDeviceRestrictionManager.setScreenCaptureDisabled(mAdminName, true);
break;
case R.id.enableScreenCapture:
mDeviceRestrictionManager.setScreenCaptureDisabled(mAdminName, false);
break;
......
default:
break;
}
} catch (NoSuchMethodError error) {
Toast.makeText(getApplicationContext(), getString(R.string.not_support), Toast.LENGTH_SHORT).show();
} catch (SecurityException securityException) {
Toast.makeText(getApplicationContext(), getString(R.string.no_permission), Toast.LENGTH_SHORT).show();
}
updateState();
}
例如,添加上述步骤中调用的MDM Engine API对应的权限。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.huawei.mdm.sample">
<uses-permission android:name="com.huawei.permission.sec.MDM" />
<uses-permission android:name="com.huawei.permission.sec.MDM_WIFI" />
<uses-permission android:name="com.huawei.permission.sec.MDM_CAPTURE_SCREEN" />
......
</manifest>
请参考接入准备。
将授权后的APK安装到华为设备上可以看到运行结果。
干得好,您已经成功完成了Codelab并学到了:
您可以阅读下面链接,了解更多相关信息:
示例代码