80,362
社区成员
发帖
与我相关
我的任务
分享
Switch switch2;
BluetoothAdapter mBluetoothAdapter;
switch2=(Switch)findViewById(R.id.switch2);
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter.getState()==BluetoothAdapter.STATE_ON){
switch2.setChecked(true);
} else {
switch2.setChecked(false);
}
switch2.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked) {
mBluetoothAdapter.enable();
Toast.makeText(EnergySaving.this,
"当前蓝牙状态为1" + mBluetoothAdapter.getState(),
Toast.LENGTH_SHORT).show();
} else {
mBluetoothAdapter.disable();
Toast.makeText(EnergySaving.this,
"当前蓝牙状态为2" + mBluetoothAdapter.getState(),
Toast.LENGTH_SHORT).show();
}
}
});
import android.annotation.SuppressLint;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.net.wifi.WifiManager;
import android.os.BatteryManager;
import android.os.Bundle;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.view.View;
import android.view.WindowManager;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;
@SuppressLint("NewApi")
public class EnergySaving extends Activity {
private int level;
private int status;
ImageView imageView1;
TextView textView1;
TextView textView3;
CheckBox checkBox1;
private SeekBar seekBar;
Switch switch1;
Switch switch2;
WifiManager wifiManager;
BluetoothAdapter mBluetoothAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.energysaving);
this.setTitle("节能控制");
registerReceiver(batteryChangedReceiver, new IntentFilter(
Intent.ACTION_BATTERY_CHANGED));
imageView1 = (ImageView) findViewById(R.id.imageView1);
textView1 = (TextView) findViewById(R.id.textView1);
textView3 = (TextView) findViewById(R.id.textView3);
textView1.setTextSize(22);
seekBar = (SeekBar) findViewById(R.id.seekBar1);
seekBar.setMax(255);// 最大亮度为255,设定进度条的max为255
int nowBrightnessValue = 0;
ContentResolver resolver = this.getContentResolver();
try {
nowBrightnessValue = android.provider.Settings.System.getInt(
resolver, Settings.System.SCREEN_BRIGHTNESS);
} catch (SettingNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
textView3.setText("当前屏幕亮度:" + nowBrightnessValue);
seekBar.setProgress(nowBrightnessValue);// 先显示,后看是否手动还是自动调节亮度
checkBox1 = (CheckBox) findViewById(R.id.checkBox1);
checkBox1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (checkBox1.isChecked()) {
Settings.System.putInt(getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);// 关闭自动调节
seekBar.setEnabled(true);
} else {
Settings.System.putInt(getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);// 未选中手动调节,则改为自动调节亮度
seekBar.setEnabled(false);
}
}
});
seekBar.setOnSeekBarChangeListener(new SeekBarChangeListenerImp());
switch1 = (Switch) findViewById(R.id.switch1);
wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
if (wifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
switch1.setChecked(true);
} else {
switch1.setChecked(false);
}
switch1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked) {
wifiManager.setWifiEnabled(true);
Toast.makeText(EnergySaving.this,
"当前Wifi网卡状态为1" + wifiManager.getWifiState(),
Toast.LENGTH_SHORT).show();
} else {
wifiManager.setWifiEnabled(false);
Toast.makeText(EnergySaving.this,
"当前Wifi网卡状态为2" + wifiManager.getWifiState(),
Toast.LENGTH_SHORT).show();
}
}
});
switch2=(Switch)findViewById(R.id.switch2);
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter.getState()==BluetoothAdapter.STATE_ON){
switch2.setChecked(true);
} else {
switch2.setChecked(false);
}
switch2.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked) {
mBluetoothAdapter.enable();
Toast.makeText(EnergySaving.this,
"当前蓝牙状态为1" + mBluetoothAdapter.getState(),
Toast.LENGTH_SHORT).show();
} else {
mBluetoothAdapter.disable();
Toast.makeText(EnergySaving.this,
"当前蓝牙状态为2" + mBluetoothAdapter.getState(),
Toast.LENGTH_SHORT).show();
}
}
});
}
class SeekBarChangeListenerImp implements OnSeekBarChangeListener {
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
setScreenBrightness(seekBar.getProgress());// 传入当前亮度
}
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
}
// 设置屏幕亮度的函数
public void setScreenBrightness(int num) {
// TODO Auto-generated method stub
ContentResolver resolver = this.getContentResolver();
WindowManager.LayoutParams layoutParams = super.getWindow()
.getAttributes();
layoutParams.screenBrightness = (float) num / 255;// 设置屏幕的亮度
// 要0~1,所以除以255
super.getWindow().setAttributes(layoutParams);
layoutParams = getWindow().getAttributes();
textView3.setText("当前屏幕亮度:"
+ String.valueOf(layoutParams.screenBrightness * 255)); // 显示0~255而不是0~1
// 以下 几行保存亮度,即使退出app也是当前亮度
Uri uri = android.provider.Settings.System
.getUriFor("screen_brightness");
android.provider.Settings.System.putInt(resolver, "screen_brightness",
num);
resolver.notifyChange(uri, null);
}
private BroadcastReceiver batteryChangedReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
level = intent.getIntExtra("level", 0);
int scale = intent.getIntExtra("scale", 100);
status = intent.getIntExtra("status", 0);
setBatteryInfo();
}
}
};
protected void setBatteryInfo() {
// TODO Auto-generated method stub
// 动态改变电量图片
int resID = getResources().getIdentifier("stat_sys_battery_" + level,
"drawable", "com.example.energysavingofmobilephone");
imageView1.setImageResource(resID);
if (status == BatteryManager.BATTERY_STATUS_CHARGING) {
textView1.setTextColor(android.graphics.Color.BLUE);
textView1.setText("充电中");
} else {
textView1.setTextColor(android.graphics.Color.GREEN);
textView1.setText("未连接电源");
}
}
}