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



  • 相关阅读:
    屏蔽右键
    无法解析类型 java.lang.Object。从必需的 .class 文件间接引用了它
    屏蔽右键
    Servlet的三个基本方法
    应用HttpClient来对付各种顽固的WEB服务器 摘抄
    Apache xmlrpc
    利用缓存机制快速读取XML文件数据
    JDBC连接MySQL
    HttpClient入门
    5款主流NoSQL数据库全方位横评
  • 原文地址:https://www.cnblogs.com/myparamita/p/2210546.html
Copyright © 2011-2022 走看看