2017-05-05 73 views
0
int BrightnesValue= 0; 
     try { 
      BrightnesValue = Settings.System.getInt(
        getContentResolver(), Settings.System.SCREEN_BRIGHTNESS); 
     } catch (Settings.SettingNotFoundException e) { 
      e.printStackTrace(); 
     } 
     int SysBackLightValue = BrightnesValue-25; 
     android.provider.Settings.System.putInt(getContentResolver(), 
       android.provider.Settings.System.SCREEN_BRIGHTNESS, 
       SysBackLightValue); 

我想以編程方式使用工具欄上的按鈕,如圖所示image here改變系統的亮度。這樣,當第一次點擊時,亮度降低,再次點擊時亮度恢復爲默認值。Android的 - 用一個按鈕來改變屏幕的亮度

+1

請發表您的代碼。直到我們看到錯誤的地方 – mondieki

回答

0

您可以設置屏幕亮度按鈕,單擊

第一種方式:

@Override 
    public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    int curBrightnessValue=android.provider.Settings.System.getInt(
     getContentResolver(),android.provider.Settings.System.SCREEN_BRIGHTNESS); 
    setBrightness(curBrightnessValue-25);//set BRIGHTNESS 
    } 
private void setBrightness(int brightness) { 
    try { 
     IHardwareService hardware = IHardwareService.Stub.asInterface( 
     ServiceManager.getService("hardware")); 
     if (hardware != null) { 
     hardware.setScreenBacklight(brightness); 
     } 
    } catch (RemoteException doe) {    
    } 

的Manifest.xml

<uses-permission android:name="android.permission.HARDWARE_TEST"></uses-permission> 

方式二:

@Override 
    public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    int curBrightnessValue=android.provider.Settings.System.getInt(
    getContentResolver(),android.provider.Settings.System.SCREEN_BRIGHTNESS); 
    int SysBackLightValue = curBrightnessValue-25; 
    android.provider.Settings.System.putInt(getContentResolver(), 
    android.provider.Settings.System.SCREEN_BRIGHTNESS, 
    SysBackLightValue); 
    } 

的AndroidManifest.xml:

<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
+0

它沒有工作 – mj7addadcoder

+0

in public boolean onOptionsItemSelected(MenuItem item)function – mj7addadcoder