public class PhoneStatReceiver extends BroadcastReceiver {
boolean mIsComingCall = false;
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG,"onReceive():intent.getAction()="+intent.getAction());
if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.i(TAG, "call OUT:" + phoneNumber);
} else if (intent.getAction().equals("android.intent.action.PHONE_STATE")) {
if(mGridLayer != null){
boolean mIsSlide = mGridLayer.inSlideShowMode();
Log.d(TAG,"onReceive():mIsSlide="+mIsSlide);
if(!mIsSlide){
return;
}
}else{
return;
}
TelephonyManager tm = (TelephonyManager) context.getSystemService(Service.TELEPHONY_SERVICE);
switch (tm.getCallState()) {
case TelephonyManager.CALL_STATE_RINGING:
mIsComingCall = true;
String incoming_number = intent.getStringExtra("incoming_number");
Log.i(TAG, "RINGING :" + incoming_number);
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
if (mIsComingCall) {
Log.i(TAG, "incoming ACCEPT");
mHasPhoneCame = true;
}
break;
case TelephonyManager.CALL_STATE_IDLE:
if (mIsComingCall) {
Log.i(TAG, "incoming IDLE");
mHasPhoneCame = true;
}
break;
}
} else {
Log.i(TAG, "onreceive else");
}
}
}
分享到:
相关推荐
Receiver通常是消息的接收端,虽然在提供的代码片段中Receiver部分没有完全给出,但通常Receiver也会使用JNDI查找队列,并创建`QueueConnection`、`QueueSession`和`MessageListener`。Receiver通过注册`Message...
在这个demo中,我们可能会看到以下代码片段: ```java public class ListenHome extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (Intent.ACTION_CLOSE_...
以下是对“android 监听短信数据库”这一主题的深入解析,包括关键代码片段的解释和相关知识点的详细说明。 ### 关键知识点 #### 1. ContentObserver类的使用 `ContentObserver`是Android系统中用于监听...
在Android平台上,来电拦截功能是通过使用电话管理器(TelephonyManager)服务和注册广播接收器(BroadcastReceiver)来实现的。此压缩包文件“Android 来电拦截及拦截后的提示音源码.zip”可能包含了一个完整的示例...
### 20个Android很有用的代码片段 在Android应用开发的过程中,经常需要编写各种功能性的代码片段来实现特定的功能需求。以下是从一篇名为“20个Android很有用的代码片段”的文章中提取的一些关键代码段及其解释。...
根据提供的代码片段,我们看到`WifiSwitch_Presenter`类是负责WiFi状态监听的核心类。这个类实现了`WifiSwitch_Interface`接口,该接口定义了方法`wifiSwitchState(int state)`,用于在WiFi状态发生变化时通知调用者...
在`Receiver`类中,初始化了一个线程`_thread`,该线程的主要任务是创建一个UDP客户端socket,并监听9003端口。端口选择通常基于应用程序的需求,9003可能是特定于IPCamera设备的默认端口或者是开发者自定义的。`...
【安卓常用代码集合】是一个针对初级安卓开发者整理的代码片段集合,旨在帮助初学者快速理解和掌握安卓开发中的常见操作。这个集合包括了调用浏览器、接收系统广播等方面的示例代码,下面将对这些知识点进行详细的...
首先,Android系统提供了`TelephonyManager`类来获取设备的电话相关信息。通过以下代码片段,我们可以获取到SIM卡的一些基本信息: ```java TelephonyManager tm = (TelephonyManager) this.getSystemService...
在示例的Activity中,可能包含以下代码片段: ```java public class BroadcastReceiverActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate...
在Android开发中,经常会遇到各种各样的编程需求,这篇文档整理了一些常见的代码片段,便于开发者快速查找和使用。以下是一些关键的Android代码示例: 1. **调用系统浏览器打开指定网址** ```java Uri uri = Uri....
在给定的`AndroidManifest.xml`片段中,可以看到`SDMountReceiver`接收器被声明为一个`<receiver>`元素,并指定了多个`<action>`和`<data>`元素。这些元素定义了接收器所监听的广播动作和数据类型。例如,`...
在Android系统中,广播接收者(Broadcast Receiver)是四大组件之一,它负责监听并响应系统或应用程序广播事件。广播接收者可以无须用户交互就能接收到消息,这使得它们成为执行后台任务和处理系统级事件的理想选择...
每个安卓应用都是由一个或多个组件构成的,比如活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供者(Content Provider)。在这个实例中,我们将主要关注活动,因为它是用户与应用...
此外,Android框架还包含了Intent(意图)、Fragment(片段)、AsyncTask(异步任务)等重要概念,它们与四大组件共同构成了Android应用开发的基石。熟悉并熟练运用这些知识,可以极大地提高开发效率和应用质量。
Broadcast Receiver监听系统广播事件;Content Provider则负责数据的共享和管理。此外,还需要熟悉AndroidManifest.xml文件,它是应用的配置文件,包含应用的所有组件声明和其他重要设置。 接下来,"实战源码"部分...
Activity是用户界面的主要承载,Service则用于在后台执行长时间运行的任务,Broadcast Receiver能监听系统或自定义广播事件,而Content Provider则用于数据共享。 课程中还会详细介绍XML布局文件的使用,这是构建...
在Android开发中,掌握一些常用的代码片段可以极大地提高开发效率,减少出错的可能性。下面将对上述提供的Android常用代码集合进行详细的解释和扩展。 1. **调用浏览器打开指定网址** 这段代码用于启动设备上的...