添加权限
<uses-permission
android:name="android.permission.READ_PHONE_STATE" />
private TextView myTextView1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.phone_state);
myTextView1 = (TextView) findViewById(R.id.myTextView1);
/* 新增的PhoneStateListener */
MyPhoneCallListener myPhoneCallListener = new MyPhoneCallListener();
/* 取得电话服务 */
TelephonyManager tm = (TelephonyManager) this
.getSystemService(Context.TELEPHONY_SERVICE);
/* 注册Listener */
tm.listen(myPhoneCallListener, PhoneStateListener.LISTEN_CALL_STATE);
}
/* 内部class继承PhoneStateListener */
public class MyPhoneCallListener extends PhoneStateListener {
/* 重写onCallStateChanged当状态改变时改变myTextView1的文字及颜色 */
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
/* 无任务状态时 */
case TelephonyManager.CALL_STATE_IDLE:
myTextView1.setTextColor(Color.RED);
myTextView1.setText("无任何状态");
break;
/* 接起电话时 */
case TelephonyManager.CALL_STATE_OFFHOOK:
myTextView1.setTextColor(Color.BLUE);
myTextView1.setText("接起电话时");
break;
/* 电话进来时 */
case TelephonyManager.CALL_STATE_RINGING:
getContactPeople(incomingNumber);
break;
default:
break;
}
super.onCallStateChanged(state, incomingNumber);
}
}
private void getContactPeople(String incomingNumber) {
myTextView1.setTextColor(Color.BLUE);
ContentResolver contentResolver = getContentResolver();
Cursor cursor = null;
/* cursor里要放的字段名称 */
String[] projection = new String[] { ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER };
/* 用来电电话号码查找该联系人 */
cursor = contentResolver.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection,
ContactsContract.CommonDataKinds.Phone.NUMBER + "=?",
new String[] { incomingNumber }, "");
/* 找不到联系人 */
if (cursor.getCount() == 0) {
myTextView1.setText("未知联系人:" + incomingNumber);
} else if (cursor.getCount() > 0) {
cursor.moveToFirst();
/* projection这个数组里 */
String name = cursor.getString(1);
myTextView1.setText(name + ":" + incomingNumber);
}
}
- 大小: 11.8 KB
分享到:
相关推荐
iphone拨号器
Android源码 phone 拨号器 调用android内置拨号功能的简单实现
安卓手机可以用iPhone的拨号软件来拨号了
简单的安卓拨号器源代码,可以实现拨号,查看,添加,联系人,发送短信.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
2.安装协同拨号器,win8系统选择兼容模式安装,win7默认安装即可 3.安装WiFi共享精灵,按照完成后按照提示重新启动 4.运行安装好的WiFi共享精灵,在设置好了热点名称和热点密码后,点击“启动” 5.在“启动”按钮...
简单的安卓拨号器源代码,可以实现拨号,查看,添加,联系人,发送短信.rar
安卓手机拨号器
iphone4 5.01纯黑拨号界面
电话按键拨号器的仿真设计项目gui界面
闪讯拨号器.zip
ex拨号器含两个收费插件,高仿miui拨号器
电信最新拨号器3.04版,适合校园拨号。是电信推出的反路由器拨号软件
通用的pptp拨号器,输入服务器地址,账号,密码就可以连接,非常方便的电脑换IP软件。
主界面重新排版,IP设置界面加入了例外处理,加入链接状态显示,加入断开连接功能,再次增加检测等待时间,以免遇到不准确的连接不成功提示。。 优化了部分代码,修正一下小Bug。。 By Zhangzhezh 2010-11-10 ...
实现了一个简单的android实例,该APP的主要目的是通过你输入的电话号码,会调用你的手机自带的电话拨号器,实现电话的拨打。
校园拨号器 简单拨号 不需安装 是一个很实用的大学生校园上网拨号器
android移动客户端的拨号器的简单调用,其实安卓系统的拨号器调用没你想象的那么难,呵呵
新版闪讯可用拨号器,方便快速。杭州电子科技大学闪讯亲测可用。
校园宽带必备拨号器软件,好多同学都会去电信营业厅下载,现在下载就方便了
联通拨号器