- 浏览: 249102 次
- 性别:
- 来自: 深圳
-
文章分类
最新评论
-
江恂泽:
楼主 这家伙会把data 拆分开来 转换成day year形 ...
JsonUtil -
mdsp25xhm:
为何没有列表查询功能?
myBatis DAO封装
<receiver android:name=".filter.PhoneStatReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"/>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"></uses-permission>
public class PhoneStatReceiver extends BroadcastReceiver{
private static final String TAG = "PhoneStatReceiver";
// private static MyPhoneStateListener phoneListener = new MyPhoneStateListener();
private static boolean incomingFlag = false;
private static String incoming_number = null;
@Override
public void onReceive(Context context, Intent intent) {
//如果是拨打电话
if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){
incomingFlag = false;
String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.i(TAG, "call OUT:"+phoneNumber);
}else{
//如果是来电
TelephonyManager tm =
(TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);
switch (tm.getCallState()) {
case TelephonyManager.CALL_STATE_RINGING:
incomingFlag = true;//标识当前是来电
incoming_number = intent.getStringExtra("incoming_number");
Log.i(TAG, "RINGING :"+ incoming_number);
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
if(incomingFlag){
Log.i(TAG, "incoming ACCEPT :"+ incoming_number);
}
break;
case TelephonyManager.CALL_STATE_IDLE:
if(incomingFlag){
Log.i(TAG, "incoming IDLE");
}
break;
}
}
}
}
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"/>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"></uses-permission>
public class PhoneStatReceiver extends BroadcastReceiver{
private static final String TAG = "PhoneStatReceiver";
// private static MyPhoneStateListener phoneListener = new MyPhoneStateListener();
private static boolean incomingFlag = false;
private static String incoming_number = null;
@Override
public void onReceive(Context context, Intent intent) {
//如果是拨打电话
if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){
incomingFlag = false;
String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.i(TAG, "call OUT:"+phoneNumber);
}else{
//如果是来电
TelephonyManager tm =
(TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);
switch (tm.getCallState()) {
case TelephonyManager.CALL_STATE_RINGING:
incomingFlag = true;//标识当前是来电
incoming_number = intent.getStringExtra("incoming_number");
Log.i(TAG, "RINGING :"+ incoming_number);
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
if(incomingFlag){
Log.i(TAG, "incoming ACCEPT :"+ incoming_number);
}
break;
case TelephonyManager.CALL_STATE_IDLE:
if(incomingFlag){
Log.i(TAG, "incoming IDLE");
}
break;
}
}
}
}
发表评论
-
IMF简介-2
2013-07-09 17:56 917InputManager 由UI控件(View,TextVie ... -
IMF简介-1
2013-07-09 17:51 828Input Method Framework 目录 ... -
输入法 总结-3
2013-07-08 15:02 863public class MainActivity exten ... -
输入法 总结-4
2013-07-04 17:29 946public class InputActivity exte ... -
输入法 总结-3
2013-07-04 17:28 868public class InputApplication e ... -
输入法 总结-2
2013-07-04 17:23 789openwnn_pref_ja.xml <?xml v ... -
输入法 总结-2
2013-07-04 17:21 13openwnn_pref_ja.xml <?xml v ... -
输入法 总结-1
2013-07-04 17:19 809<application android ... -
Android快捷键
2013-03-15 14:39 852Home键(小房子键) 在 ... -
如何通过wifi调试android程序
2013-02-27 15:48 782android手机居然可以通过wifi进行程序的调试,太好了, ... -
Please ensure that adb is correctly located at 'D:\android-sdk-windows\platform-
2013-02-27 14:27 1675adt 出现ADB server didn't ACK, fa ... -
Android AsyncTask
2013-02-19 09:35 1142AsyncTask是抽象类,子类 ... -
Android ViewPager 左右滑动2-1
2013-01-29 10:12 1525public class PagerActivity exte ... -
Android ViewPager 左右滑动-3
2013-01-29 10:10 1116<?xml version="1.0" ... -
Android ViewPager 左右滑动-2
2013-01-29 10:10 1494/*** * 选中效果 */ pu ... -
Android ViewPager 左右滑动-1
2013-01-29 10:09 1396Store extends ActivityGroup imp ... -
Android 下载
2013-01-27 00:59 927下载apk程序代码 protected File downLo ... -
Android SDCard操作-3
2013-01-26 18:31 896public static Intent getVid ... -
Android SDCard操作-2
2013-01-26 18:30 1134/** * 判断该应用在手机中的安装情况 ... -
Android SDCard操作-1
2013-01-26 18:27 1069private static int INSTALLED = ...
相关推荐
在安卓系统中,来电监听是一种常见的功能,尤其在开发企业级应用或个性化工具时,它允许应用程序接收并处理来电信息。来电监听主要涉及到Android的电话服务API和广播接收器机制。接下来,我们将深入探讨如何在...
来电监听主要利用`PhoneStateListener`类,这是一个系统提供的接口,用于监听手机的通话状态变化。以下是如何实现来电监听的步骤: 1. 创建一个继承自`PhoneStateListener`的子类,并重写`onCallStateChanged`方法...
- 通过查看该项目的代码,可以更深入地了解如何实现来电监听以及弹出提示窗口的具体实现逻辑。 通过上述知识点的梳理,我们可以了解到在Android系统中实现监听系统来电并弹出提示窗口涉及到的权限申请、广播接收器...
- 实现来电监听功能,需要在AndroidManifest.xml文件中声明`READ_PHONE_STATE`权限,否则应用无法获取电话状态。 - 若要在锁屏状态下显示悬浮窗,还需要`SYSTEM_ALERT_WINDOW`权限,即“显示系统级弹窗”的权限。 ...
在Android开发中,来电监听是一项常见的需求,例如用于创建提醒服务或者自定义来电界面。"ComingCallPro.zip"这个压缩包文件很可能包含了实现这一功能的示例代码。下面我们将详细探讨Android来电监听的两种主要方法...
2. **来电监听**: - 实现自定义来电秀,首先需要监听电话状态的变化。这通常通过注册一个BroadcastReceiver来实现,监听`android.intent.action.PHONE_STATE`广播事件。 3. **反射机制**: - 在Android系统中,...
实现手机电话状态的监听,主要依靠两个类:TelephoneManger和PhoneStateListener。 TelephonseManger提供了取得手机基本服务的信息的一种方式。因此应用程序可以使用TelephonyManager来探测手机基本服务的情况。应用...
在Android中,来电监听通常通过注册BroadcastReceiver来实现。创建一个继承自BroadcastReceiver的类,并重写onReceive()方法。在该方法中,我们可以获取到Intent对象,通过Intent的行动(ACTION_PHONE_STATE)判断...
2. **来电监听服务(CallReceiver)**: - 开发者需要创建一个BroadcastReceiver,用于监听来电事件。当电话打入时,系统会广播一个`Intent`,我们可以在这个BroadcastReceiver中接收并处理这个事件。 3. **自定义...
3. **来电监听**:项目需要监听电话状态,这涉及到Android的PhoneStateListener,用于检测电话的拨打、接听和挂断状态。 4. **自定义布局**:来电秀的核心是自定义UI设计,开发者需要对Android的XML布局文件和视图...
总结,这个实例项目涵盖了Android自定义对话框的创建、来电监听、权限管理、服务与BroadcastReceiver的使用等多个核心知识点,对于学习和实践Android来电弹屏功能具有很好的参考价值。通过深入研究这个项目,开发者...
7. **异步处理**:由于来电监听可能发生在任何线程中,包括主线程,因此弹屏操作需要在UI线程执行。可以使用`Handler`或`runOnUiThread()`确保更新界面的操作在正确的线程中进行。 8. **性能优化**:为了提供良好的...
例如,检查来电状态通常需要监听PhoneStateListener或BroadcastReceiver,而权限方面则需要确保应用已经获得了ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION权限,因为Android 6.0及以上版本需要运行时权限。...
6. **线程管理**:由于UI操作必须在主线程中进行,因此来电监听器回调可能需要在子线程中处理,然后通过Handler或者runOnUiThread()切换到主线程执行显示弹屏的操作。 7. **动画效果**:为了提高用户体验,弹屏的...
5. **来电监听服务**:实现来电号码姓名查询功能,开发者需要注册一个BroadcastReceiver监听电话状态广播,当接收到来电时,读取来电号码并匹配数据库中的联系人信息,显示对应的姓名。 6. **搜索功能**:搜索功能...
总的来说,这份"Android公司通讯录"源码备份涵盖了Android开发中的多个重要知识点,包括但不限于ContentProvider的使用、来电监听、联系人查询、搜索功能实现、UI设计和权限管理。对于想要深入学习Android应用开发,...
4. 来电识别:Android系统提供了来电监听接口,通过注册BroadcastReceiver监听ACTION_PHONE_STATE广播,当有来电时,可以获取来电电话号码。然后,我们可以对比数据库中的号码,查找对应的联系人信息,并显示在来电...
2. **来电识别**:当手机接收到电话时,Android系统会触发来电监听服务。源码中可能包含一个BroadcastReceiver,用于监听电话状态的变化。一旦有来电,BroadcastReceiver会接收到电话号码,并通过查询数据库匹配对应...
首先,电话监听器(PhoneStateListener)是Android提供的一个接口,用于监听手机的通话状态,如来电、去电、通话结束等事件。要实现电话监听,我们需要创建一个PhoneStateListener的子类,并重写其中的...