• 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();
    }
    }



  • 相关阅读:
    Mybatis-generator使用和扩展
    mybatis like 查询
    mybatis IF判断的坑
    Spring 配置JNDI数据源
    MyBatis Generator配置文件
    Dynamic Web Module to 3.0 报错
    MAC下配置MAVEN环境变量配置
    ORA-02298: 无法验证 (PNET.POST_CLOB_FK)
    oracle pctfree和pctused详解
    关于error:Cannot assign to 'self' outside of a method in the init family
  • 原文地址:https://www.cnblogs.com/myparamita/p/2210546.html
Copyright © 2020-2023  润新知