1.功能:拨打电话 对方接听时震动
2.平台:android6.0 MTK 平台

移动联通:
目录:packages\services\Telecomm\src\com\android\server\telecom
文件:Ringer.java

@Overridepublic void onCallStateChanged(Call call, int oldState, int newState) {        if (newState != CallState.RINGING) {            removeFromUnansweredCall(call);        }        ///M: vibrate when MO call connected. @{        if (newState == CallState.ACTIVE                && (oldState == CallState.DIALING || oldState == CallState.CONNECTING)                /// M: CDMA MO call special handling. @{                // For cdma call, framework will vibrate when the call be 'really' answered                // by remote side, at this point the CDMA MO call maybe not in                // real ACTIVE state, so skip this for CDMA MO call.                && !TelecomUtils.hasCdmaCallCapability(mContext,                        call.getTargetPhoneAccount())) {                /// @}            int emSetting = Settings.Global.getInt(mContext.getContentResolver(),                    Settings.Global.TELEPHONY_MISC_FEATURE_CONFIG, KEY_MO_VIBRATE_CONFIG);            boolean enabled = (emSetting & KEY_MO_VIBRATE_CONFIG) != 0;            if (enabled ) {                 mVibrator.vibrate(MO_CALL_VIBRATE_TIME);// 就是这里啦!            }        }        /// @}}

电信:
目录:frameworks\opt\telephony\src\java\com\android\internal\telephony\cdma
文件:CdmaConnection.java

boolean onCdmaCallAccept() {        Rlog.d(LOG_TAG, "onCdmaCallAccept, mIsRealConnected:" + mIsRealConnected);        if (!mIsRealConnected) {            mConnectTimeReal = SystemClock.elapsedRealtime();            mDuration = 0;            mConnectTime = System.currentTimeMillis();            mIsRealConnected = true;            // send DTMF when the CDMAcall is really accepted.            processNextPostDialChar();            vibrateForAccepted();// 就是这里啦!            return true;        } else {            return false;        } }
private void vibrateForAccepted() {        //if CDMA phone accepted, start a Vibrator        Vibrator vibrator = (Vibrator) mOwner.mPhone.getContext().getSystemService(                            Context.VIBRATOR_SERVICE);        vibrator.vibrate(MO_CALL_VIBRATE_TIME);   }

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Android(安卓)Studio 的相关目录
  6. String.xml中product属性使用
  7. Android(安卓)OptionsMenu 菜单
  8. Android第六个功能:XmlPullParser解析XML文件
  9. Android(安卓)Studio编译报错:Password verification failed

随机推荐

  1. android中利用GPS获取位置信息的源码分析
  2. 如何在Android中点击overlay弹出带尾巴的
  3. android:Handler整理总结
  4. android ListView中给Item的每个控件设置
  5. Android(安卓)ExpandableListView的使用
  6. 关于android工程下不能运行java main程序
  7. 【3】Android新建Activity (Eclipse)
  8. PhoneGap 初探
  9. android中Canvas使用drawBitmap绘制图片
  10. 【转】模拟器中运行编译好的Android