Wifi 打開 與 關閉
来源:互联网 发布:前置净水器 知乎 编辑:程序博客网 时间:2024/05/06 20:56
public class WifiAlarmReceiver extends BroadcastReceiver{
public static Context senderContext;
public WifiAlarmReceiver()
{
Log.i("AlarmReceiver.AlarmReceiver()", Calendar.getInstance().getTime().toLocaleString());
Log.i("AlarmReceiver.AlarmReceiver() -> pid", String.valueOf(android.os.Process.myPid()));
Log.i("AlarmReceiver.AlarmReceiver() -> tid", String.valueOf(android.os.Process.myTid()));
}
public void onReceive(Context context, Intent intent) {
SharedPreferences data=context.getSharedPreferences(FlightAndWifiActivity.FLIGHT_WIFI_NAME,0);
boolean isWifiOn=data.getBoolean(FlightAndWifiActivity.IS_WIFI_ON,FlightAndWifiActivity.DEFAULT_IS_ON);
if(isWifiOn){
closeWifi(senderContext);
}else{
openWifi(senderContext);
//showToast(senderContext,"onReceive(), openWifi trunk");
Log.i("TAG","onReceive(), openWifi trunk");
}
}
private void openWifi(Context context){
boolean isOn=false;
WifiManager mWifiManager=(WifiManager)context.getSystemService(Context.WIFI_SERVICE);
// showToast(senderContext,"openWifi trunk. "+mWifiManager.getWifiState());
try{
if(!mWifiManager.isWifiEnabled() && mWifiManager.getWifiState()!= WifiManager.WIFI_STATE_ENABLING){
if(mWifiManager.setWifiEnabled(true)){
switch(mWifiManager.getWifiState()){
case WifiManager.WIFI_STATE_ENABLING:
showToast(context,context.getResources().getString(R.string.wifi_enabling));
isOn=true;
break;
case WifiManager.WIFI_STATE_ENABLED:
showToast(context,context.getResources().getString(R.string.wifi_open_success));
isOn=true;
break;
default:
showToast(context,context.getResources().getString(R.string.wifi_open_fail)+":"+context.getResources().getString(R.string.wifi_unknow));
break;
}
}else{
showToast(context,context.getResources().getString(R.string.wifi_open_fail));
}
}else{
// showToast(senderContext,"openWifi(),fffff");
// mChkWifi.setChecked(false);
switch(mWifiManager.getWifiState()){
case WifiManager.WIFI_STATE_ENABLING:
showToast(context,context.getResources().getString(R.string.wifi_open_fail)+":"+context.getResources().getString(R.string.wifi_enabling));
break;
case WifiManager.WIFI_STATE_DISABLING:
showToast(context,context.getResources().getString(R.string.wifi_open_fail)+":"+context.getResources().getString(R.string.wifi_disabling));
break;
case WifiManager.WIFI_STATE_ENABLED:
showToast(context,context.getResources().getString(R.string.wifi_open_fail)+":"+context.getResources().getString(R.string.wifi_enabled));
isOn=true;
break;
case WifiManager.WIFI_STATE_DISABLED:
showToast(context,context.getResources().getString(R.string.wifi_open_fail)+":"+context.getResources().getString(R.string.wifi_disabled));
break;
case WifiManager.WIFI_STATE_UNKNOWN:
default:
showToast(context,context.getResources().getString(R.string.wifi_open_fail)+":"+context.getResources().getString(R.string.wifi_unknow));
break;
}
}
}catch(Exception ex){
ex.printStackTrace();
}
if(isOn){
Editor edit=context.getSharedPreferences(FlightAndWifiActivity.FLIGHT_WIFI_NAME,0).edit();
edit.putBoolean(FlightAndWifiActivity.IS_WIFI_ON, true);
edit.commit();
}else{
}
}
private void closeWifi(Context context){
boolean isOff=false;
WifiManager mWifiManager=(WifiManager)context.getSystemService(Context.WIFI_SERVICE);
try{
if(mWifiManager.isWifiEnabled()){ //如果wifi已經開啟,則可以關閉
if(mWifiManager.setWifiEnabled(false)){
showToast(context,context.getResources().getString(R.string.wifi_close_success));
isOff=true;
}else{
showToast(context,context.getResources().getString(R.string.wifi_close_fail));
}
}else{
switch(mWifiManager.getWifiState()){
case WifiManager.WIFI_STATE_ENABLING:
showToast(context,context.getResources().getString(R.string.wifi_close_fail)+":"+context.getResources().getString(R.string.wifi_disabling));
break;
case WifiManager.WIFI_STATE_DISABLING:
showToast(context,context.getResources().getString(R.string.wifi_close_fail)+":"+context.getResources().getString(R.string.wifi_disabling));
break;
case WifiManager.WIFI_STATE_DISABLED:
showToast(context,context.getResources().getString(R.string.wifi_close_fail)+":"+context.getResources().getString(R.string.wifi_disabled));
// isOff=true;
break;
case WifiManager.WIFI_STATE_UNKNOWN:
default:
showToast(context,context.getResources().getString(R.string.wifi_close_fail)+":"+context.getResources().getString(R.string.wifi_unknow));
break;
}
}
}catch(Exception ex){
ex.printStackTrace();
}
if(isOff){
SharedPreferences data=context.getSharedPreferences(FlightAndWifiActivity.FLIGHT_WIFI_NAME,0);
int timesLeft=data.getInt(FlightAndWifiActivity.WIFI_TIMES_LEFT, FlightAndWifiActivity.DEFAULT_EDITTEXT_VALUE);
timesLeft--;
Editor edit=data.edit();
edit.putBoolean(FlightAndWifiActivity.IS_WIFI_ON, false);
edit.putInt(FlightAndWifiActivity.WIFI_TIMES_LEFT,timesLeft);
edit.commit();
Intent intent=new Intent(FlightAndWifiActivity.ACTION_UPDATE_WIFI_TIMESLEFT);
context.sendBroadcast(intent);
}else{
}
}
private void showToast(Context context,String msg){
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}
}
- Wifi 打開 與 關閉
- 什么是wifi霸屏神器?用WiFi霸屏广告机打广告是什么体验?
- WIFI手机将登陆上海 打国际长途每分钟0.3元
- 使用闪联任意通将xp打造成wifi热点
- wifi
- WIFI
- WIFI
- WiFi
- WIFI
- WIFI
- WiFI
- WIFI
- WIFI
- wifi
- WIFI
- WIFI
- WIFI
- WIFI
- PXA310的电源管理(2)
- 关于servlet和jsp中的取值问题
- 用Visual C++实现图象渐显和渐隐
- variant does not contain a container
- 使用ConVirt管理KVM
- Wifi 打開 與 關閉
- VS2008下配置安装WTL开发环境
- jsp中forward和sendRedirect的用法啊
- j2me程序发布到手机
- ASP.NET2.0中轻松实现网站换肤(App_Themes的使用)
- Struts2 拦截器
- 这段代码输出什么?说明了什么问题?
- sscanf
- 中国互联网倾向成熟化产品