title: Android Activity to test Backlight
body: <p>I am trying to make a simple blank app that tests the backlight of the phone.  The activity works, it turns the brightness up to 255.  However the app never shuts down, when I add onDestroy() at the end it crashes.  It also throws exceptions anywhere the Settings.System... is called but does not crash.  I would also like to be able to reset it to default brightness after the apps runs.  I have been playing with this simple app for so long and cant get it right, please help!!! </p>
  
  <pre><code>public class BacklightActivity extends Activity {
  
  
      int brightness =  255;
      public final static String log_tag = "Backlight";
      private Handler mHandler = new Handler();
      int delay = 10000;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          Log.i(log_tag,"Entered onCreate()");
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_backlight);
          /*
           * API's to launch the application when the tablet is locked or
           * display is turned off
           */
          getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
          getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
          getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
          getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  
          createTempFile("Status_Backlight.txt", "INPROGRESS");
          try {
              //this will set the manual mode (set the automatic mode off)
              Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
              //Sets the bightness of the backlight (1-255)  britness is set at max of 255
              Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightness);  //this will set the brightness to maximum (255)
  
              //refreshes the screen
              int br = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
              WindowManager.LayoutParams lp = getWindow().getAttributes();
              lp.screenBrightness = (float) br / 255;
              getWindow().setAttributes(lp);
  
          } catch (Exception e) {
          }
          //Delay turing off flash and then end activity
          mHandler.postDelayed(new Runnable() {
              public void run() {
                  Log.i(log_tag,"Entered sleep");
              }
          }, delay);
  //        Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
  
      }
  
      private void exit_function(){
          onDestroy();
      }
  
      @Override
      protected void onDestroy() {
          super.onDestroy();
          Log.i(log_tag,"Entered onDestroy()");
          createTempFile("Status_Backlight.txt", "COMPLETED");
          Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
          finish();
  
          }
  </code></pre>