2016-04-19 7 views
0

в моем андроид приложение я хочу одну кнопку, в которой на 1-й яркости мыши будет 10, на 2-ой яркости мыши будет 50, на третьей яркости мыши будет 255 (полный) в качестве пользователя нажмите кнопку Далее она будет обратно 10 раз как закодировать это я устал это решение, но только в состоянии увеличитькак incrase или уменьшить brighness экрана на кнопку мыши

private void getBrightness() { 
    try 
     { int curBrightnessValue = 0 ; 
      curBrightnessValue = android.provider.Settings.System.getInt(getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS); 
      if(curBrightnessValue >= 250 ) 
      { 

      int SysBackLightValue = curBrightnessValue-30; 


        android.provider.Settings.System.putInt(getContentResolver(), 
        android.provider.Settings.System.SCREEN_BRIGHTNESS, 
        SysBackLightValue); 
        curBrightnessValue=SysBackLightValue; 
      } 
      else if(curBrightnessValue <250) 

      { 

       int SysBackLightValue = curBrightnessValue+30; 


       android.provider.Settings.System.putInt(getContentResolver(), 
        android.provider.Settings.System.SCREEN_BRIGHTNESS, 
        SysBackLightValue); 
        curBrightnessValue=SysBackLightValue; 



      } 

пожалуйста, помогите мне решить эту проблему

+0

Я не вижу, где вы устанавливаете яркость в своем коде, в вашем коде не установлено значение 10,50,255. –

+0

в этом коде я попытался увеличить и уменьшить яркость, но ее не работает согласно моему требованию – techandroid07

+0

взгляните на мой ответ –

ответ

1

Ваш код даже не делает что вы сказали, что получили в своем вопросе (вы только пытаетесь увеличить и уменьшить на 30, даже не применяя его), вы получаете правильность Яркости, и все, что вам нужно сделать, - это обработать новое значение в вашем прослушивателе нажатия кнопки :

private int getBrightness() { 
     int curBrightnessValue = 0 ; 
     try 
      { 
       curBrightnessValue = android.provider.Settings.System.getInt(getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS); 
      } 
     catch(Exception ex){ 
       curBrightnessValue = 0 
      } 
     return curBrightnessValue; 
    } 

    ok.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      int current_brightness = getBrightness(); 
      int new_brightness; 
      if(current_brightness > 250) 
       new_brightness = 10; 
      else if(current_brightness >= 50) 
       new_brightness = 255; 
      else if(current_brightness >= 10) 
       new_brightness = 50; 
      else 
       new_brightness = 150; // let's say this will be the default value 
      // and to set the brightness 
      set_system_brightness(new_brightness); 
     } 
    }); 

    private void set_system_brightness(int new_brightness){ 
     Settings.System 
     .putInt(getContentResolver(), 
       Settings.System.SCREEN_BRIGHTNESS, 
       new_brightness); // Set the system 
          // brightness 
     android.view.WindowManager.LayoutParams w_lp = getWindow() 
       .getAttributes(); // Get the current window 
            // attributes 
     w_lp.screenBrightness = new_brightness/(float) 255; // Set 
                 // the 
                 // brightness 
                 // of 
                 // this 
                 // window 
     getWindow().setAttributes(w_lp); // Apply attribute 
              // changes to 
              // this window 
    } 
+1

спасибо за решение, это хорошо работает – techandroid07

+0

Вы так приветствуете –