自定义供应设备的安装向导

时间:2018-02-06 12:23:55

标签: android provisioning device-owner setup-wizard

我正在开发MDM / EMM应用程序,这要求我修改/规避默认的Google设置向导,以便在设备注册我们的服务器时配置设备。

我的逻辑如下: -

1 - 在ROM中添加MDM apk作为系统应用程序 2 - 在谷歌设置向导之前启动我的应用程序活动,以检查设备是否在我的服务器上注册 3 - 如果已注册,我们会配置设备,否则我们会关闭我们的活动并允许Google设置向导继续

这种方法面临的问题 -

我们在实施基于WiFi的检查时遇到了障碍 - 为了检查注册,我们必须强制用户连接到互联网。

但在WiFi扫描期间,所有设备上的结果都显示为空。 在安装向导完成后运行时,相同的WiFi扫描代码可以正常工作。

在完成Google安装向导之前,是否有一种特殊的方法来扫描WiFi?

代码I使用如下: -

    final BroadcastReceiver wifiScanReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context c, Intent intent) {

            if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {

                List<ScanResult> mScanResults = mWifiManager.getScanResults();
              // this returns an empty list when run before the google setup wizard
            }
        }
    };

    mWifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
    mWifiManager.setWifiEnabled(true);
    getApplicationContext().registerReceiver(wifiScanReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
    mWifiManager.startScan();

可悲的是&#34; mWifiManager.getScanResults()&#34;在Google设置向导完成之前运行时返回一个空列表。在谷歌设置向导完成后,相同的代码返回所有可用的WiFi列表。

如果谷歌设置完成,我们无法配置设备,因此必须在此之前进行配置检查:(

0 个答案:

没有答案