android.media.AudioManager#VIBRATE_SETTING_ON源码实例Demo

下面列出了android.media.AudioManager#VIBRATE_SETTING_ON 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Study_Android_Demo   文件: DatabaseHelper.java
private void loadVibrateWhenRingingSetting(SQLiteDatabase db) {
    // The default should be off. VIBRATE_SETTING_ONLY_SILENT should also be ignored here.
    // Phone app should separately check whether AudioManager#getRingerMode() returns
    // RINGER_MODE_VIBRATE, with which the device should vibrate anyway.
    int vibrateSetting = getIntValueFromSystem(db, Settings.System.VIBRATE_ON,
            AudioManager.VIBRATE_SETTING_OFF);
    boolean vibrateWhenRinging = ((vibrateSetting & 3) == AudioManager.VIBRATE_SETTING_ON);

    SQLiteStatement stmt = null;
    try {
        stmt = db.compileStatement("INSERT OR IGNORE INTO system(name,value)"
                + " VALUES(?,?);");
        loadSetting(stmt, Settings.System.VIBRATE_WHEN_RINGING, vibrateWhenRinging ? 1 : 0);
    } finally {
        if (stmt != null) stmt.close();
    }
}
 
源代码2 项目: Study_Android_Demo   文件: DatabaseHelper.java
private void loadVibrateWhenRingingSetting(SQLiteDatabase db) {
    // The default should be off. VIBRATE_SETTING_ONLY_SILENT should also be ignored here.
    // Phone app should separately check whether AudioManager#getRingerMode() returns
    // RINGER_MODE_VIBRATE, with which the device should vibrate anyway.
    int vibrateSetting = getIntValueFromSystem(db, Settings.System.VIBRATE_ON,
            AudioManager.VIBRATE_SETTING_OFF);
    boolean vibrateWhenRinging = ((vibrateSetting & 3) == AudioManager.VIBRATE_SETTING_ON);

    SQLiteStatement stmt = null;
    try {
        stmt = db.compileStatement("INSERT OR IGNORE INTO system(name,value)"
                + " VALUES(?,?);");
        loadSetting(stmt, Settings.System.VIBRATE_WHEN_RINGING, vibrateWhenRinging ? 1 : 0);
    } finally {
        if (stmt != null) stmt.close();
    }
}
 
源代码3 项目: CSipSimple   文件: Ringer.java
public void updateRingerMode() {

		AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
		synchronized (this) {
			int ringerMode = audioManager.getRingerMode();
			// Silent : stop everything
			if (ringerMode == AudioManager.RINGER_MODE_SILENT) {
				stopRing();
				return;
			}

			// Vibrate
			int vibrateSetting = audioManager.getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER);
			// If not already started restart it
			if (vibratorThread == null && (vibrateSetting == AudioManager.VIBRATE_SETTING_ON || ringerMode == AudioManager.RINGER_MODE_VIBRATE)) {
				vibratorThread = new VibratorThread();
				vibratorThread.start();
			}

			// Vibrate only
			if (ringerMode == AudioManager.RINGER_MODE_VIBRATE || audioManager.getStreamVolume(AudioManager.STREAM_RING) == 0) {
				stopRinger();
				return;
			}

            //Ringer
			ringerWorker.startRinging(audioManager);
		}
	}
 
源代码4 项目: CSipSimple   文件: Ringer.java
/**
 * Starts the ringtone and/or vibrator. 
 * 
 */
public void ring(String remoteContact, String defaultRingtone) {
    Log.d(THIS_FILE, "==> ring() called...");

    synchronized (this) {

    	AudioManager audioManager =
            (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
    	
    	//Save ringtone at the begining in case we raise vol
        Ringtone ringtone = getRingtone(remoteContact, defaultRingtone);
        ringerWorker.setRingtone(ringtone);
        
    	//No ring no vibrate
        int ringerMode = audioManager.getRingerMode();
        if (ringerMode == AudioManager.RINGER_MODE_SILENT) {
        	Log.d(THIS_FILE, "skipping ring and vibrate because profile is Silent");
        	return;
        }
        
        // Vibrate
        int vibrateSetting = audioManager.getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER);
        Log.d(THIS_FILE, "v=" + vibrateSetting + " rm=" + ringerMode);
        if (vibratorThread == null &&
        		(vibrateSetting == AudioManager.VIBRATE_SETTING_ON || 
        				ringerMode == AudioManager.RINGER_MODE_VIBRATE)) {
            vibratorThread = new VibratorThread();
            Log.d(THIS_FILE, "Starting vibrator...");
            vibratorThread.start();
        }

        // Vibrate only
        if (ringerMode == AudioManager.RINGER_MODE_VIBRATE ||
        		audioManager.getStreamVolume(AudioManager.STREAM_RING) == 0 ) {
        	Log.d(THIS_FILE, "skipping ring because profile is Vibrate OR because volume is zero");
        	return;
        }

        // Ringer normal, audio set for ring, do it
        if(ringtone == null) {
        	Log.d(THIS_FILE, "No ringtone available - do not ring");
        	return;
        }

        ringerWorker.startRinging(audioManager);
    	
    }
}