アプリの起動時に、GPRS/3Gがオンかオフかを確認したいと思います。私は以下のこのコードを持っています、そしてそれはインターネットがオン(wifiまたは3G)であるかどうかを一般的にチェックし、例えばwifiがオンであるかどうかは私のwifiとgprsの両方のトグルボタンをオンに設定します。そして、私はそれを持つことはできません。Wi-Fiがオンになっている場合は、gprsではなくWi-Fiトグルボタンのみをオンにします。ボタンは正常に機能し、起動時に値を確認して設定するだけでは機能しません。
public class SwarmPopup extends SwarmActivity implements OnClickListener{
private boolean isNetworkConnected() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
// There are no active networks.
return false;
} else
return true;
}
Button ok;
WifiManager wifiMan;
ToggleButton wifi, gprs;
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.swarmpopup);
addListenerOnButton();
wifi.setChecked(wifiMan.isWifiEnabled());
ok.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
wifi.setOnClickListener(new OnClickListener() { //Ukljucuje WiFi
@Override
public void onClick(View v) {
wifi.setEnabled(wifiMan.isWifiEnabled());
try
{
if (((ToggleButton)v).isChecked()){
SwarmPopup.this.wifiMan.setWifiEnabled(true);
Toast.makeText(getApplicationContext(), "WiFi je uključen", Toast.LENGTH_LONG).show();
}else{
SwarmPopup.this.wifiMan.setWifiEnabled(false);
Toast.makeText(getApplicationContext(), "WiFi je isključen", Toast.LENGTH_LONG).show();
}
}
catch (Exception localException)
{
Log.e("SwarmPopup", "error on WiFi listerner: " + localException.getMessage(), localException);
}
}
});
gprs.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try
{
if (((ToggleButton)v).isChecked()){
GprsSettings.setMobileDataEnabled(getApplicationContext(), true);
Toast.makeText(getApplicationContext(), "GPRS je uključen", Toast.LENGTH_SHORT).show();
}else{
GprsSettings.setMobileDataEnabled(getApplicationContext(), false);
Toast.makeText(getApplicationContext(), "GPRS je isključen", Toast.LENGTH_SHORT).show();
}
}
catch (Exception localException)
{
Log.e("SwarmPopup", "error on GPRS listerner: " + localException.getMessage(), localException);
}
}
});
gprs.setChecked(isNetworkConnected());
}
private void addListenerOnButton() {
Typeface dugme = Typeface.createFromAsset(getAssets(), "myriad.ttf");
ok = (Button) findViewById(R.id.btOKSwarm);
ok.setTypeface(dugme);
gprs = (ToggleButton) findViewById(R.id.tbGPRS);
wifi = (ToggleButton) findViewById(R.id.tbWiFi);
// Getting the WiFi Services
wifiMan=(WifiManager)getSystemService(Context.WIFI_SERVICE);
//Proverava da li je WiFi ukljucen ili ne
}
@Override
public void onClick(View v) {
}
}