zoukankan      html  css  js  c++  java
  • 电话状态的监听。响铃,静止,接起

    复制代码
    package com.sharpcj.telephonestatelistenerdemo;
    
    import android.content.Context;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.telephony.PhoneStateListener;
    import android.telephony.TelephonyManager;
    import android.util.Log;
    
    public class MainActivity extends AppCompatActivity {
    
        private TelephonyManager mTelephonyManager;
        private static final String TAG = "sharpcj:";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            mTelephonyManager.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_CALL_STATE);
            //不要忘记了权限的添加
            //<uses-permission Android:name="android.permission.READ_PHONE_STATE" />
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            mTelephonyManager.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_NONE);
        }
    
        class MyPhoneStateListener extends PhoneStateListener {
            @Override
            public void onCallStateChanged(int state, String incomingNumber) {
                /**
                 * 返回电话状态
                 *
                 * CALL_STATE_IDLE 无任何状态时
                 * CALL_STATE_OFFHOOK 接起电话时
                 * CALL_STATE_RINGING 电话进来时
                 */
                switch (state) {
                    case TelephonyManager.CALL_STATE_IDLE://无任何状态时
                        logi("CALL_STATE_IDLE");
                        break;
                    case TelephonyManager.CALL_STATE_RINGING://电话进来时
                        logi("CALL_STATE_RINGING");
                        break;
                    case TelephonyManager.CALL_STATE_OFFHOOK://接起电话时
                        logi("CALL_STATE_OFFHOOK");
                        break;
                    default:
                        super.onCallStateChanged(state, incomingNumber);
                        break;
                }
            }
        }
    
    
        public void logi(String s) {
            Log.i(TAG, "joy:---" + s);
        }
    }
    复制代码
  • 相关阅读:
    【网络】默认路由(路由黑洞,路由终结)
    textstroke(文本描边)和textfillcolor(文本填充色)Css3演示
    enter键提交表单
    Web App和Native App 谁将是未来
    模拟input type=file
    margintop 无效,避开麻烦的margin叠加(margin collapsing)
    用jquery写的简单tab效果
    CSS3下的渐变文字效果实现
    jQuery阻止冒泡和HTML默认操作
    设置文本输入框默认值
  • 原文地址:https://www.cnblogs.com/wuyuxin/p/7019905.html
Copyright © 2011-2022 走看看