唔,明天要去網易筆試Android實習生,於是翻出以前寫的Android代碼,溫習一下,想象一下,當然,這必然不會導致太多的本質改變,不過總得試試,就這樣, 上代碼。
1 package android.lekko.tools; 2 3 import android.app.Activity; 4 import android.content.ContentResolver; 5 import android.provider.Settings; 6 import android.provider.Settings.System; 7 import android.view.WindowManager; 8 import android.widget.Toast; 9 10 public class LightnessControl { 11 // 判斷是否開啟了自動亮度調節 12 public static boolean isAutoBrightness(Activity act) { 13 boolean automicBrightness = false; 14 ContentResolver aContentResolver = act.getContentResolver(); 15 try { 16 automicBrightness = Settings.System.getInt(aContentResolver, 17 Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; 18 } catch (Exception e) { 19 Toast.makeText(act,"無法獲取亮度",Toast.LENGTH_SHORT).show(); 20 } 21 return automicBrightness; 22 } 23 // 改變亮度 24 public static void SetLightness(Activity act,int value) 25 { 26 try { 27 System.putInt(act.getContentResolver(),System.SCREEN_BRIGHTNESS,value); 28 WindowManager.LayoutParams lp = act.getWindow().getAttributes(); 29 lp.screenBrightness = (value<=0?1:value) / 255f; 30 act.getWindow().setAttributes(lp); 31 } catch (Exception e) { 32 Toast.makeText(act,"無法改變亮度",Toast.LENGTH_SHORT).show(); 33 } 34 } 35 // 獲取亮度 36 public static int GetLightness(Activity act) 37 { 38 return System.getInt(act.getContentResolver(),System.SCREEN_BRIGHTNESS,-1); 39 } 40 // 停止自動亮度調節 41 public static void stopAutoBrightness(Activity activity) { 42 Settings.System.putInt(activity.getContentResolver(), 43 Settings.System.SCREEN_BRIGHTNESS_MODE, 44 Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); 45 } 46 // 開啟亮度自動調節 47 public static void startAutoBrightness(Activity activity) { 48 Settings.System.putInt(activity.getContentResolver(), 49 Settings.System.SCREEN_BRIGHTNESS_MODE, 50 Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC); 51 } 52 }
這是一個單獨可工作的類,主要用於調節屏幕亮度,有部分注釋了,解釋幾個概念,不標准,供參考:
ContentResolver類,為訪問其它應用程序的對外共享數據提供方法,如上面獲取、設置亮度時使用的System.getInt(),System.setInt()。
Activity類,android程序的主要類,一個界面必有此類提供后台支持,需要繼承此類。
Settings類,android程序系統相關的設置類,各種設置都可在此找。
LayoutParams類,android界面相關的參數,如高度、寬度、亮度等。
Toast類,一個可自動消失的提示框,輕型控件。
轉載請注明原址:http://www.cnblogs.com/lekko/archive/2013/03/20/2971825.html