MainActivity.java
package com.tsots.ScreenBrightness; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.PowerManager; import android.view.View; import android.view.WindowManager; import android.widget.Button; import android.widget.EditText; import android.widget.SeekBar; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity implements Runnable { Context context = MainActivity.this; Button b1 ; EditText et1; TextView str_start_backlight, str_end_backlight; SeekBar start_BackLight, end_BackLight; PowerManager.WakeLock mWakeLock; PowerManager mPowerManager; String str_et; boolean ifLocked = false; float f_start_backlight, f_end_backlight, f_backlight_change; int time; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); b1 = (Button) findViewById (R.id.b1); et1 = (EditText) findViewById (R.id.et1); start_BackLight = (SeekBar) findViewById(R.id.start_backlight); end_BackLight = (SeekBar) findViewById(R.id.end_backlight); str_start_backlight = (TextView) findViewById(R.id.str_start_backlight); str_end_backlight = (TextView) findViewById(R.id.str_end_backlight); mPowerManager = (PowerManager) getSystemService (Context.POWER_SERVICE); final WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); mWakeLock = mPowerManager.newWakeLock ( PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "BackLight" ); et1.setText("1"); str_start_backlight.setText("0.1"); str_end_backlight.setText("0.1"); start_BackLight.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { public void onProgressChanged(SeekBar arg0, int arg1,boolean arg2) { float BackLightValue = (float) arg1 / 100; //避免螢幕亮度的值為0.0, 會全暗無法操作 if(arg1 > 0.0) { str_start_backlight.setText(String.valueOf(BackLightValue)); layoutParams.screenBrightness = BackLightValue; getWindow().setAttributes(layoutParams); } } public void onStartTrackingTouch(SeekBar arg0) { } public void onStopTrackingTouch(SeekBar arg0) { } }); end_BackLight.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { public void onProgressChanged(SeekBar arg0, int arg1,boolean arg2) { float BackLightValue = (float) arg1 / 100; if(arg1 > 0.0) { str_end_backlight.setText(String.valueOf(BackLightValue)); } } public void onStartTrackingTouch(SeekBar arg0) { } public void onStopTrackingTouch(SeekBar arg0) { } }); b1.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { f_start_backlight = Float.valueOf(str_start_backlight.getText().toString()); f_end_backlight = Float.valueOf(str_end_backlight.getText().toString()); time = Integer.valueOf(et1.getText().toString()); f_backlight_change = (f_end_backlight-f_start_backlight)/(time); Toast.makeText(context, "每秒變化量: "+f_backlight_change, Toast.LENGTH_SHORT).show(); Thread thread = new Thread(MainActivity.this); thread.start(); } }); } @Override protected void onResume() { wakeLock(); super.onResume(); } @Override protected void onPause() { wakeUnlock(); super.onPause(); } private void wakeLock() { if (!ifLocked) { ifLocked = true; mWakeLock.acquire(); } } private void wakeUnlock() { if (ifLocked) { mWakeLock.release(); ifLocked = false; } } public void run() { try { for(int i=0; i
沒有留言:
張貼留言