我必须用 android 编写一个程序,它可以找到其他 ssid 并显示它们。我用 2 个 xml 页面设计了它。我在 page2 中创建了一个 imagebutton 并想在 imagebutton 和搜索方法之间建立关系。这意味着我想单击 imagebutton 和搜索方法开始它的工作并搜索 ssid 并显示它们......我的问题是,我下载了我的搜索方法,因此我无法识别我必须在我的 setonclick 方法上调用哪个方法我在第二页写一个图像按钮?我尝试为搜索方法单独创建另一个类,并从 page2 的第二个类中调用它。但我不知道如何在这两个类之间建立关系(我的意思是第二类和第三类)。或者我必须在一类中编写搜索方法并单击我的图像按钮?谢谢你的建议。
import java.util.Date;
import java.util.List;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class wifiScan extends Activity {
private class WifiReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context c, Intent intent) {
List<ScanResult> results = wifi.getScanResults();
Date tempDate=new Date();
String info=testNumber+" "+(tempDate.getTime()-testDate.
getTime()) +" "+results.size();
Log.i("wifiScan", info);
wifiText.setText(info);
testNumber++;
testDate=new Date();
wifi.startScan();
}
}
private TextView wifiText;
private WifiManager wifi;
private WifiReceiver receiver;
private Date testDate;
private static int testNumber=0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
testNumber=0;
wifiText = (TextView) findViewById(R.id.wifiText);
receiver=new WifiReceiver();
registerReceiver(receiver, new IntentFilte
(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
wifi =(WifiManager)getSystemService(Context.WIFI_SERVICE);
if(!wifi.isWifiEnabled()){
wifi.setWifiEnabled(true);
}
startScan();
}
@Override
public void onStop(){
super.onStop();
finish();
}
public void startScan(){
testDate=new Date();
wifi.startScan();
}
}