【Code-Snippet】系統設置

1. 亮度

  1. 參考這裏的設置: LightUtilshtml

  2. 系統應用,或者Root應用參考這個:java

    權限:<uses-permission android:name="android.permission.WRITE_SETTINGS"/>android

    代碼git

    Settings.System.putInt(MainActivity.this.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS,12); 
    //設置亮度,數值爲 0-255
    try {
        int b = Settings.System.getInt(MainActivity.this.getContentResolver(),
                Settings.System.SCREEN_BRIGHTNESS);  //讀取亮度的值。
        Log.e("===","light:"+b);
    } catch (Settings.SettingNotFoundException e) {
        e.printStackTrace();
    }
    複製代碼
  3. 調用系統的 Activitygithub

    startActivity(new Intent(Settings.ACTION_DISPLAY_SETTINGS));bash

2. 自動鎖屏時間

系統應用,或者Root應用參考這個:eclipse

權限:<uses-permission android:name="android.permission.WRITE_SETTINGS"/>ide

/**
 * 得到鎖屏時間  毫秒
 */
private int getScreenOffTime(){
    int screenOffTime=0;
    try{
        screenOffTime = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT);
    }
    catch (Exception localException){
    }
    return screenOffTime;
}
/**
 * 設置背光時間  毫秒
 *      //  2147483647  爲無限
 */
private void setScreenOffTime(int paramInt){
    try{
        Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, paramInt);
    }catch (Exception localException){
        localException.printStackTrace();
    }
}
複製代碼

3.時間與時區

  • 系統權限,root應用,設置時間:ui

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

    boolean isSuc = SystemClock.setCurrentTimeMillis(curMs);//須要Root權限

  • 設置時區,權限:普通應用層權限

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

    AlarmManager mAlarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    mAlarmManager.setTimeZone("Asia/Baku");              
    複製代碼

    android---世界時區列表

  • 跳轉系統設置頁面:

    startActivity(new Intent(Settings.ACTION_DATE_SETTINGS));

4.音量

調節音量的大小,能夠直接調節:

  1. 調節大小根據系統的幅度去,
  2. 直接調節大小,調節幅度自定義
  • 先獲取AudioManager:
//音量控制,初始化定義  
AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);  
//最大音量  
int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);  
//當前音量  
int currentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);  
複製代碼
  • 調節,漸進式,即像手動按音量鍵同樣,一步一步增長或減小

public void adjustStreamVolume (int streamType, int direction, int flags)

參數說明:

int streamType	須要調整的音量類型
	(如下常量定義於AudioManager類中)
	STREAM_ALARM 警報
	STREAM_MUSIC 音樂回放即媒體音量
	STREAM_NOTIFICATION 窗口頂部狀態欄Notification,
	STREAM_RING 鈴聲
	STREAM_SYSTEM 系統
	STREAM_VOICE_CALL 通話
	STREAM_DTMF 雙音多頻,不是很明白什麼東西
	
int direction	調整的方向,加或者減。
	(如下常量定義於AudioManager類中)
	ADJUST_LOWER 下降音量
	ADJUST_RAISE 升高音量
	ADJUST_SAME 保持不變,這個主要用於向用戶展現當前的音量
	
int flags	附加的一些參數
	參數的說明參考API文檔:http://www.android-doc.com/reference/android/media/AudioManager.html
	
	FLAG_PLAY_SOUND 調整音量時播放聲音
	FLAG_SHOW_UI 調整時顯示音量條,就是按音量鍵出現的那個
	0表示什麼也沒有	
複製代碼
例子:
mAudioManager.adjustStreamVolume (AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE,
    AudioManager.FLAG_SHOW_UI);
複製代碼
  • 直接設置音量值

public void setStreamVolume (int streamType, int index, int flags)

參數說明: 第一個,第三個和上面的同樣

第二個參數:
	int index: 把音量調整到index值。
	
這裏,能夠根據獲取的最大音量去本身設置調整的幅度。
複製代碼
例子:
	這裏是直接調整到最大的音量。
	am.setStreamVolume(AudioManager.STREAM_MUSIC, am.getStreamMaxVolume(AudioManager.STREAM_MUSIC),
	    AudioManager.FLAG_PLAY_SOUND);
複製代碼
  • 音量按鍵的監聽:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch (keyCode) {
    case KeyEvent.KEYCODE_VOLUME_DOWN:
        tv.setText("-----------------"+count);
        count--;
        return true;
    case KeyEvent.KEYCODE_VOLUME_UP:
        tv.setText("++++++++++++++++"+ count);
        count++;
        return true;
    case KeyEvent.KEYCODE_VOLUME_MUTE:
        tv.setText("MUTE");
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
複製代碼

5. Wifi設置

WifiHelper

Android Wifi控制方法總結

  • 不要試圖監聽鏈接WIFI的成功與否回調,不可能。雖然會有一個wifi鏈接失敗的監聽,可是不會告訴你,是哪個wifi鏈接失敗。
相關文章
相關標籤/搜索