Android底層對於無論是軟體系統還是硬體系統的控制能力都是非常好的,介面定義也十分明確,我們可以很方便的拿來做自己想要的控制,於是近期在項目中就有做個快速設定的功能,要求一鍵wifi開閉,移動網路開閉,電池設定,飛航模式,一鍵開啟應用(應用本來就是一鍵開啟的哈),一鍵撥號……………………各種各種的功能,於是經過一個星期的奮戰,這個功能初步完成了編碼與測試,不慎完善,至少能用,呵呵,第一次寫這個,架構考慮的不全面,以後繼續改進,這篇文章呢就貼幾段功能實現的代碼,由於用到的介面太多,實在不方便寫部落格了。我打了壓縮包,開放源碼,想要的童鞋可以去下載,純手打代碼,大家多多支援。 一:自動亮度的開啟與關閉 [java] <span style="font-size:14px;">/** * �?��亮度自動調節 * * @param activity */ public void startAutoBrightness(Activity activity) { Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC); } /** * 停止自動亮度調節 */ public void stopAutoBrightness(Activity activity) { Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); }</span> 二:飛航模式的開閉[java <span style="font-size:14px;">/** * 開啟關閉飛航模式 */ public void OpenAirplane(Context context, ImageView childImageView) { boolean isEnabled = Settings.System.getInt( context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) == 1; if (isEnabled) { Settings.System.putInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0); childImageView.setImageDrawable(getResources().getDrawable( R.drawable.action_airplane_off_default)); } else if (!isEnabled) { Settings.System.putInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 1); childImageView.setImageDrawable(getResources().getDrawable( R.drawable.action_airplane_default)); } Intent i = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); i.putExtra("state", !isEnabled); context.sendBroadcast(i); }</span> 三:藍芽開閉[java] <span style="font-size:14px;">/** * 開啟關閉藍芽 * */ public void OpenorCloseBluetooth(Context context, ImageView childImageView) { BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); if (adapter.isEnabled()) { adapter.disable();// 關閉藍芽 childImageView.setImageDrawable(getResources().getDrawable( R.drawable.action_bluetooth_off_default)); Toast.makeText(QuickSettingActivity.this, getString(R.string.close_bluetooth), Toast.LENGTH_SHORT) .show(); } else { adapter.enable();// 開啟藍芽 childImageView.setImageDrawable(getResources().getDrawable( R.drawable.action_bluetooth_default)); Toast.makeText(QuickSettingActivity.this, getString(R.string.open_bluetooth), Toast.LENGTH_SHORT) .show(); } } </span> 下面再貼一些要用到的許可權[html] <span style="font-size:14px;"> <!-- 一鍵開啟wifi --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- 設定螢幕亮度 --> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <!-- 設定藍芽 --> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <!-- 設定震動 --> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="com.sec.android.app.factorymode.permission.KEYSTRING" /> <!-- 調用相機閃光燈 --> <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- 改變網路 --> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <!-- GPS --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /></span> 太多了,暫時搞這幾個,對大家有用的話,可以去下源碼。 開發過程中非常需要注意的是,隨著sdk版本的提升,有的系統設定介面有些改變,需要做些調整,還有這個與系統設定關係較為密切,拉取系統服務與資料的時候要及時try And catch,以防報錯。:http://download.csdn.net/user/beiminglei。由於是從項目中扣下來的代碼,比較亂,如有興趣體驗比較完整的版本,可以試試我們的項目,https://play.google.com/store/apps/details?id=com.launcher.GTlauncher2&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5sYXVuY2hlci5HVGxhdW5jaGVyMiJd。