zoukankan      html  css  js  c++  java
  • Android监听电话

    public class PhoneBroadcast extends BroadcastReceiver {
    
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.e("onReceive", "onReceive    action" + intent.getAction());
    
            if (intent.getAction().equals("test")) {
                Log.e("test", "test");
                TelephonyManager tm = (TelephonyManager) context
                        .getSystemService(Context.TELEPHONY_SERVICE);
    
                PhoneStateListener listener = new PhoneStateListener() {
                    @Override
                    public void onCallStateChanged(int state, String incomingNumber) {
                        if (state != TelephonyManager.CALL_STATE_IDLE) {
                            Log.e("pause", "pause");
                        } else {
                            Log.e("start", "start");
                        }
    
                        super.onCallStateChanged(state, incomingNumber);
                    }
                };
                // 监听电话的状态
                tm.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
    
            }
        }
    }

    MainActivity

    public class MainActivity extends Activity {
    private
     PhoneBroadcast phone = new PhoneBroadcast();
    @Override protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
    }

    @Override
    public void onResume(){
       super.onResume();

       IntentFilter filter = new IntentFilter();
        filter.addAction("test");
        registerReceiver(phone, filter);
       Intent intent1 = new Intent("test");
       sendBroadcast(intent1);
    }
    @Override
    public void onPause(){
      super.onPause();
    unregisterReceiver(phone);
    }
    
    }

    AndroidMenifest.xml

     <receiver android:name="com.example.broadcasttest.PhoneBroadcast" >
            </receiver>

    权限

    <uses-permission android:name="android.permission.READ_PHONE_STATE" >
    </uses-permission>
    <uses-permission android:name="android.permission.CALL_PHONE" >
    </uses-permission>

  • 相关阅读:
    正则匹配英文和数字
    python 正则匹配小数
    Error loading MySQLdb module: No module named 'MySQLdb'
    使用STL的next_permutation函数
    C++模板类之pair
    【转】Java迭代:Iterator和Iterable接口
    经典DFS问题实践
    Java 算法(背包,队列和栈)
    深度学习caffe测试代码c++
    opencv测试代码
  • 原文地址:https://www.cnblogs.com/cc-Cheng/p/3146241.html
Copyright © 2011-2022 走看看