zoukankan      html  css  js  c++  java
  • android 电话接通时震动

    电话接通时振动功能,亦可进一步做成系统设置选项,用preference实现。

    package com.android.phone;

    import com.android.internal.telephony.Phone;
    import com.android.internal.telephony.PhoneBase;
    import com.android.internal.telephony.gsm.SuppServiceNotification;
    import com.android.phone.CdmaDisplayInfo;
    import com.android.phone.NotificationMgr;
    import com.android.phone.CallNotifier.InCallTonePlayer;

    import android.os.AsyncResult;
    import android.os.Message;
    import android.util.Log;

    //来电入口类
    public class CallNotifier extends Handler implements CallerInfoAsyncQuery.OnQueryCompleteListener {

    //保存上一状态
    private Call.State mPreviousCallState;

    private void onNewRingingConnection(AsyncResult r) {
    }

    //处理通话状态message
    @Override
    public void handleMessage(Message msg) {
    switch (msg.what) {
    //other
    case PHONE_STATE_CHANGED:
    onPhoneStateChanged((AsyncResult) msg.obj);
    break;
    //other
    }
    }

    //通话状态改变时
    private void onPhoneStateChanged(AsyncResult r) {
    //other
    //判断来电状态,若刚接通则震动
    if ((mPhone.getForegroundCall().getState() == Call.State.ACTIVE)
    && ((mPreviousCallState == Call.State.DIALING) || (mPreviousCallState == Call.State.ALERTING))) {
    Vibrator vbr = (Vibrator) mPhone.getContext().getSystemService(Context.VIBRATOR_SERVICE);
    vbr.vibrate(200);
    }
    mPreviousCallState = mPhone.getForegroundCall().getState();
    }
    }



  • 相关阅读:
    Rhythmbox中文乱码解决的方法
    苟富贵勿相忘
    C++“窗体”程序设计启蒙
    Java模式(适配器模式)
    sql server 2005 32位+64位、企业版+标准版、CD+DVD 下载地址大全
    STL学习小结
    Spring3.0 AOP 具体解释
    图解iPhone开发新手教程
    已有路由器为何还要交换机
    路由器功能
  • 原文地址:https://www.cnblogs.com/myparamita/p/2210546.html
Copyright © 2011-2022 走看看