Android 我们的应用程序将在安卓系统中启动,如何在没有扫描的情况下进行扫描

Android 我们的应用程序将在安卓系统中启动,如何在没有扫描的情况下进行扫描,android,broadcastreceiver,Android,Broadcastreceiver,我想在后台服务中扫描所有可用的wifi。之后,我需要检查特定的SSID ID是否匹配,我必须向用户发送一些消息,这将在没有活动的情况下发生。我的活动将启动。任何人都可以指导我如何在后台服务中扫描wifi public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); SharedPreferences prefs

我想在后台服务中扫描所有可用的wifi。之后,我需要检查特定的SSID ID是否匹配,我必须向用户发送一些消息,这将在没有活动的情况下发生。我的活动将启动。任何人都可以指导我如何在后台服务中扫描wifi

 public void onReceive(Context context, Intent intent) {

            final String action = intent.getAction();
            SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
            String name = prefs.getString("wifiname",null);

            if (action.equals(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION) ||
                    action.equals(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION)) {
                if (intent.getBooleanExtra(WifiManager.EXTRA_SUPPLICANT_CONNECTED,
                        false)) {
                    if(context != null){
                        IntentFilter intentFil = new IntentFilter(); 
                        WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
                        intentFil.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
                        wifi.startScan();
                        List<WifiConfiguration> configs = wifi.getConfiguredNetworks();

                        wifi.getScanResults();
                        if(wifi.startScan() == true){
                            for(int i = 0;i<configs.size();i++)
                        {
            if (configs.get(i).SSID.equals("\"" + name+"\"")){
                Toast.makeText(context,
                 name, Toast.LENGTH_LONG).show();                                           
         }

@Lalit Poptani这是我当前的代码,我无法在这里获得扫描结果。请告诉我哪里做错了?您是否在清单中写入了所有必需的权限?@LalitPoptani ya我已将所有权限放入