`
- 浏览:
40277 次
-
1. 如何判断手机是否处于正在通话中?(任何时候都可以判断手机是否处于通过中)private boolean phoneIsInUse() { boolean phoneInUse = false; try { ITelephony phone = ITelephony.Stub.asInterface(ServiceManager.checkService("phone")); if (phone != null) phoneInUse = !phone.isIdle(); } catch (RemoteException e) { Log.w(TAG, "phone.isIdle() failed", e); } return phoneInUse; }2.通话状态的判断(需要注册监听以后,才可以判断手机通话状态的改变,可能连续接收到同一个状态的改变)package cn.com.chenzheng_java;import android.app.Activity;import android.os.Bundle;import android.telephony.PhoneStateListener;import android.telephony.TelephonyManager;import android.widget.TextView;/**** @author* @description 通过该实例,我们可以看到,如果我们想要监听电话的拨打状况,需要这么几步* 第一:获取电话服务管理器TelephonyManager manager = this.getSystemService(TELEPHONY_SERVICE);* 第二:通过TelephonyManager注册我们要监听的电话状态改变事件。manager.listen(new MyPhoneStateListener(),* PhoneStateListener.LISTEN_CALL_STATE);这里的PhoneStateListener.LISTEN_CALL_STATE就是我们想要* 监听的状态改变事件,初次之外,还有很多其他事件哦。* 第三步:通过extends PhoneStateListener来定制自己的规则。将其对象传递给第二步作为参数* 第四步:这一步很重要,那就是给应用添加权限。android.permission.READ_PHONE_STATE***/public class PhoneCallStateActivity extends Activity { TelephonyManager manager ; String result = "监听电话状态:/n"; TextView textView ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //获取电话服务 manager = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE); // 手动注册对PhoneStateListener中的listen_call_state状态进行监听 manager.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_CALL_STATE); textView = (TextView) findViewById(R.id.textView1); textView.setText(result); } /*** * 继承PhoneStateListener类,我们可以重新其内部的各种监听方法 *然后通过手机状态改变时,系统自动触发这些方法来实现我们想要的功能 */ class MyPhoneStateListener extends PhoneStateListener{ @Override public void onCallStateChanged(int state, String incomingNumber) { switch (state) { case TelephonyManager.CALL_STATE_IDLE: result+=" 手机空闲起来了 "; break; case TelephonyManager.CALL_STATE_RINGING: result+=" 手机铃声响了,来电号码:"+incomingNumber; break; case TelephonyManager.CALL_STATE_OFFHOOK: result+=" 电话被挂起了 "; default: break; } textView.setText(result); super.onCallStateChanged(state, incomingNumber); } }}这里一定要注意,别忘记给应用注册权限:<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Android 判断手机通话的几种状态,比如正在通话状态、等待用户接听状态、手机处于待机状态、电话已接通、有来电并显示电话号码。程序还支持未接电话自动发短信功能,当判断出“我现在不方便接电话,稍后打给你”时,...
主要介绍了Android实现监听电话呼叫状态的方法,涉及Android权限控制及电话状态监听的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
披风如果您想参加这个有趣的活动,请随时与联系,我们一直在寻找更多的开发者。... Cloak仍处于开发的早期阶段,尽管某些功能目前正在运行,但我们不建议您依靠Cloak作为唯一的安全性。 开发人员: Ross Epstein
一、问题描述 使用BordercastReceiver和Service组件实现下述功能: 1.当手机处于来电状态,启动监听服务,对... Android没有对外公开结束通话的API,要结束通话就必须使用AIDL与电话管理服务进行通信,并调用服务中的
需求:当android 手机 按了 home 键后 接到语音通话 需要 弹出 语音接听界面。 业务分析:当app 处于 后台状态下(按home键)接到socket 消息或者推送消息 然后 直接从后台 弹出界面。 最终效果:很多 新版...
|--服务之判断是否处于运行状态 |--服务之定义录音机 |--服务之应用内绑定服务调用方法 |--服务之电话录音 |--服务之看门狗代码示例 |--格式化之DecimalFormat数字格式化 |--桌面快捷方式的添加代码示例 |--桌面控件...
对于 Android 手机,有一个名为的伟大项目,它正在努力检测和避免虚假基站,并且还希望使用我们在此处创建的 API。 随意安装他们的应用程序并贡献开发请求。 但是 Android 本身缺乏一个 API 来表明您可能已连接到...
机器人观察者 ... 前置摄像头手机处于解锁状态时的照片(专业版) 该应用程序可用于以下目的: 家长控制权。 备份短信和通话。 需要监视手机活动的其他任何情况。 RU: Возможностип
BBM BlackBerry Limited. - 2014年4月18日 通讯 说明 BBM 通过即时聊天、语音通话、图片共享、语音消息以及更多其他方式拉近您与家人和好友...* 注意:这些功能暂不支持运行 2.3.x (Gingerbread) 的 Android 智能手机
或者,当电话处于静音状态时,您错过了沉浸在9gag上的重要通话吗? 然后,此扩展程序/应用程序组合适合您。 它使您可以根据自己是否在计算机上处于活动状态来更改铃声配置文件。 如果您经常被whatsapp群组聊天...
基于Lora技术的对讲机设计方案背景技术:现有的对讲机分为模拟对讲机、数字对讲机以及IP对讲机,这些方式都存在如下一些缺点,对于IP对讲机,在没有IP或手机网络覆盖的场景中无法使用。 1、体积大(一般都在110X60X30...