android開發之快速設定,一鍵wifi開閉,移動網路開閉,電池設定,飛航模式,

來源:互聯網
上載者:User

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。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.