2012-03-06 40 views
4

我正在写一个android应用程序,它需要在特定的时间段内禁用手机的手机信号,并且需要启用该信号。有人可以帮助我吗?如何在Android中启用/禁用飞行模式?

在此先感谢。


嗨,感谢下面的答案,这是工作的虚拟设备。但是,这并不为真正的设备(三星Galaxy Y):(,请有人能告诉,这是为什么工作?

+2

重复许多http://stackoverflow.com/questions/5533881/toggle-airplane-mode-in- android < - 应该有你要找的东西 – bschultz 2012-03-06 16:00:39

+0

当你运行这段代码时,Samsung Galaxy Y上的错误是什么?你是否遇到异常?你可以分享logcat输出吗? – 2013-03-10 04:43:37

回答

0

看看这个页面在这里

http://dustinbreese.blogspot.com/2009/04/andoid-controlling-airplane-mode.html

//切换飞行模式。

Settings.System.putInt(
     context.getContentResolver(), 
     Settings.System.AIRPLANE_MODE_ON, isEnabled ? 0 : 1); 

//张贴意图重新加载。

Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); 
intent.putExtra("state", !isEnabled); 
sendBroadcast(intent); 
where isEnabled is whether airplane mode is enabled or not. 
1

试这样的:

public void onClick(View v){ 
     context = getApplicationContext(); 
    if (((ToggleButton)v).isChecked()){ 
     boolean isEnabled = Settings.System.getInt(context.getContentResolver(), 
       Settings.System.AIRPLANE_MODE_ON, 0) == 1; 
     if(isEnabled == false) 
     { 
     Settings.System.putInt(context.getContentResolver(), 
       Settings.System.AIRPLANE_MODE_ON,1); 
     Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); 
     intent.putExtra("state", 1); 
     context.sendBroadcast(intent); 
     } 



     }else 
     { 

      Settings.System.putInt(context.getContentResolver(), 
        Settings.System.AIRPLANE_MODE_ON,0); 
      Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); 
      intent.putExtra("state", 0); 
      context.sendBroadcast(intent); 

     } 

}; 
}); 

在代码的其他部分更改号码一个数字0

+0

嗨,感谢您的答案,这是虚拟设备的工作。但这不适用于真正的设备(三星Galaxy y):(请有人可以告诉,为什么? – Harsha 2012-03-06 17:23:24

相关问题