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



  • 相关阅读:
    Webpack配置
    闭包函数
    Vue2.0(一) 新手搭建环境
    用python编写一个合格的ftp程序,思路是怎样的?
    项目流程规范
    python: 基本数据类型 与 内置函数 知识整理
    前端知识 备忘录
    架构的演化路线
    深入理解并使用python的模块与包
    jquery 知识整理
  • 原文地址:https://www.cnblogs.com/myparamita/p/2210546.html
Copyright © 2011-2022 走看看