Android MDM,从代码添加本机电子邮件应用程序中的电子邮件帐户,强制PIN码,设置APN和自动加入WiFi

时间:2013-03-07 07:47:19

标签: android mdm

我正在为iPhone和Android开发MDM解决方案。 iPhone部分已经完成并且运行良好:)

在Android部分还有一些东西。 我之前从未使用过Android手机,所以它对我来说有点新鲜。

首先是如何添加电子邮件帐户(exchange,gmail和IMAP)。 如果我理解它是正确的,那么有几个不同的本机邮件应用程序捆绑了不同版本的Android和手机型号。

我尝试使用

添加一个交换帐户
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;
}

嗯,这是一个很长的问题:)希望对这四个问题中的一些问题给出答案:)

0 个答案:

没有答案