2012-10-17 27 views
5

Tôi đã tìm kiếm xung quanh và tôi chỉ có thể tìm thấy mã sẽ đặt độ sáng trên một Hoạt động đó. Tôi đang cố gắng thay đổi cài đặt điện thoại thực tế. Mã tôi đã thử là:Android SDK: Làm thế nào để bạn đặt độ sáng màn hình

public class AutoPowerManagerActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     try { 
      adjustBright(); 
     } catch (SettingNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

    private void adjustBright() throws SettingNotFoundException { 
     // TODO Auto-generated method stub 
     int brightnessMode = Settings.System.getInt(getContentResolver(), 
       Settings.System.SCREEN_BRIGHTNESS_MODE); 
     if (brightnessMode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) { 
      Settings.System.putInt(getContentResolver(), 
        Settings.System.SCREEN_BRIGHTNESS_MODE, 
        Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); 
     } 

     WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); 
     layoutParams.screenBrightness = 0.5F; 
     getWindow().setAttributes(layoutParams); 
    } 
} 
+0

Liệu sự giúp đỡ này? http://stackoverflow.com/questions/6158628/android-short-screen-brightness-code Xin lỗi nếu tôi không hiểu chính xác câu hỏi của bạn. – Kgrover

Trả lời

2

Bạn có thể đặt độ sáng tự động bằng cách sử dụng mã sau đây, nó hoạt động cho tôi.

layoutParams.screenBrightness=-1; 
getWindow().setAttributes(layoutParams); 

Dưới đây là toàn bộ mã hóa:

public class MainActivity extends Activity { 

WindowManager.LayoutParams layoutParams; 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    try { 
     adjustBright(); 
    } catch (SettingNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    Button btn=(Button)findViewById(R.id.button1); 

    btn.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
      // TODO Auto-generated method stub 
      layoutParams.screenBrightness=-1; 
      getWindow().setAttributes(layoutParams); 
     } 
    }); 



} 

private void adjustBright() throws SettingNotFoundException { 
    // TODO Auto-generated method stub 
    int brightnessMode = Settings.System.getInt(getContentResolver(), 
      Settings.System.SCREEN_BRIGHTNESS_MODE); 
    if (brightnessMode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) { 
     Settings.System.putInt(getContentResolver(), 
       Settings.System.SCREEN_BRIGHTNESS_MODE, 
       Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); 
    } 

    layoutParams = getWindow().getAttributes(); 
    layoutParams.screenBrightness = 0.1F; 
    getWindow().setAttributes(layoutParams); 
} 
} 
Các vấn đề liên quan