Android源码开发之蓝牙通知振动

蓝牙配对,收到文件的时候,都会在通知栏收到一条消息,同时会响一声,在振动模式的时候只会振动,但是在户外模式,即最大铃声与振动的时候却只有铃声没有振动。

        mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
Log.i(TAG,"getRingerModeInternal= "+mAudioManager.getRingerMode());

打log发现,切换到正常模式和户外模式,得到的mode都是一样的,要分清正常模式和户外模式,还要看整个系统了

为了快速解决,只能在这两个模式上加振动了

packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppReceiver.java

------------------------

 public void onReceive(Context context, Intent intent) {

------------------------

else if (action.equals(BluetoothShare.INCOMING_FILE_CONFIRMATION_REQUEST_ACTION)) {
        mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
Log.i(TAG,"getRingerModeInternal= "+mAudioManager.getRingerMode());
if((mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL) && 
context.getResources().getBoolean(R.bool.hct_config_share_notify_vibrate)){
Vibrator vbr = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
vbr.vibrate(350);
}

搞定


你可能感兴趣的:(MTK二次开发)