1

我正在尝试等待广播接收器中的 wifi 扫描完成!

我有 1 个活动(ChooseActivity 扩展活动)和 1 个类(扫描)。

在我的活动中,我调用 Scan 类来扫描 wifi 并在完成时返回布尔值(true),这是代码。

我的目的是分离我的活动扫描,因为我在几个地方调用扫描类。

public class ChooseActivity extends Activity implements OnClickListener{

private int idMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_choose);

    idMap = this.getIntent().getExtras().getInt("ID_MAP");

    ((Button)this.findViewById(R.id.scan_button)).setOnClickListener(this);


}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch(v.getId()){
    case R.id.scan_button:
        Scan scan = new Scan();
        Toast.makeText(getApplicationContext(), " "+scan.scanHotspots(idMap), Toast.LENGTH_SHORT).show();

        break;
    }   
}
}

这是我的扫描课

public boolean scanHotspots(int idMap){

    wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);

    wifiManager.startScan();

    receiver = new Receiver();
    IntentFilter intentFilter = new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
    context.registerReceiver(receiver, intentFilter);

    //HERE I WANT STOP EXECUTION TO WAIT test VAIRABLE CHANGE STATUS    

    return test;
}


public class Receiver extends BroadcastReceiver{


    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        if(intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION))
        {   
            test=true;  
        }
    }       
  }
}

先感谢您。

4

0 回答 0