我正在为 iPhone 和 Android 开发 MDM 解决方案。iPhone 部分已完成,并且运行良好:)
在 android 部分还剩下一些东西。我以前从未使用过Android手机,所以对我来说有点新。
首先是如何添加电子邮件帐户(exchange、gmail 和 IMAP)。如果我理解正确的话,有几个不同的本地邮件应用程序与不同版本的安卓和手机型号捆绑在一起。
我试图添加一个交换帐户
AccountManager am = AccountManager.get(context);
am.addAccount("my_exchange_mail@company.com", "com.htc.android.mail.eas", null, null, null, null, null);
但它没有显示在设置 -> 帐户和同步中。
有谁知道如何做到这一点?
第二件事是如何将 APN 设置添加到手机。我的理解是谷歌在冰淇淋三明治中删除了该功能,如果这是正确的,那么我们不想将它添加到我们的 MDM 解决方案中。
第三件事是如何强制用户添加 PIN 码(或密码或你刷 9 个点的东西)现在我设置了密码的最小长度和密码质量(对某物)
mDPM.setPasswordMinimumLength(mAdminName, 4);
mDPM.setPasswordQuality(mAdminName, DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
mDPM.setPasswordExpirationTimeout(mAdminName, 1);
}
然后我显示设置新密码的意图。
Intent intent = new Intent(DevicePolicyManager.ACTION_SET_NEW_PASSWORD);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
这使得设置的新密码意图显示,用户可以在 PIN、密码和刷卡之间进行选择。“无密码”选项被禁用。但用户可以使用手机上的返回按钮跳过设置新密码。
有什么方法可以真正强制用户设置 PIN 码?
第四件事是关于自动加入新添加的 WiFi。我可以使用以下代码添加 WiFi。但是有没有什么办法可以让手机在范围内时自动连接到WiFi?
public boolean addWifi(String SSID, String encryptionType, String password, boolean hiddenNetowrk, boolean autoJoin) {
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiConfiguration config = new WifiConfiguration();
config.SSID = "\"" + SSID + "\"";
if (encryption.trim().equals("WEP")) {
config.wepKeys[0] = "\"" + password + "\"";
config.wepTxKeyIndex = 0;
} else if (encryption.trim().equals("WPA")) {
config.preSharedKey = "\"" + password + "\"";
} else {
return false;
}
config.hiddenSSID = hiddenNetwork;
int id = wifi.addNetwork(config);
wifi.enableNetwork(id, false);
return true;
}
嗯,这是一个很长的问题:)希望对四个问题中的一些问题有一些答案:)