问题描述:
我的应用有一个主窗口。当你点击一个按钮它确保你连接到wifi或3g,如果没有它弹出一个启用wifi的对话框。 当wifi打开并单击按钮时会出现一个新屏幕。当你点击后退按钮,禁用wifi并再次点击该按钮它不再要求wifi,屏幕显示没有wifi ....
在按钮的Click事件中,我有:
if(chosedOption == curOption)
{
if(network)
{
target = CurrencyMain.class;
go.setAnimation(a);
}
else
askForWifi();
}
并且在askForWifi方法中我有:
public void askForWifi()
{
is3g = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnected();
isWifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected();
network = is3g||isWifi;
if(!network)
{
AlertDialog alertbox = new AlertDialog.Builder(MainWindowYuval.this).create();
alertbox.setMessage("Enable wifi of 3g!");
alertbox.setButton("cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alertbox.setButton2("Turn wifi on", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
WifiManager wifiManager = (WifiManager) MainWindowYuval.this.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(true);
}
});
alertbox.show();
}
is3g = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnected();
isWifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected();
network = is3g||isWifi;
}
我该怎么做才能解决这个问题?
答案 0 :(得分:0)
为什么不在第二个屏幕中检查WiFi?如果它不存在,请让他们在那里启用它或将它们发送回主屏幕。
答案 1 :(得分:0)
确定在决定是否调用第二个屏幕之前更新network
的值。类似的东西:
askForWiFi();
if(network){
invoke...
}else{
go to settings
}