Android基于AudioManager、PhoneStateListener实现设置黑名单功能

本文实例讲述了Android基于AudioManager、PhoneStateListener实现设置黑名单功能。分享给大家供大家参考,具体如下:

手机中一般有设置黑名单的功能。此例通过设置电话黑名单,当黑名单中的电话打来时,手机铃声为变成静音。

程序代码如下:

import android.app.Activity; import android.content.Context; import android.media.AudioManager; import android.os.Bundle; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; import android.view.KeyEvent; import android.view.View; import android.view.View.OnKeyListener; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class A11Activity extends Activity { private EditText et;//添加输入框,输入并设置黑名单 private TextView tv01,tv02; //tv01用来显示EditText中输入的黑名单;tv02用来显示当前手机电话所处的状态 /** Called when the activity is first created. */ @SuppressWarnings("static-access") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tv01=(TextView)findViewById(R.id.tv01); tv02=(TextView)findViewById(R.id.tv02); et=(EditText)findViewById(R.id.et); /**创建PhoneCallListener的对象;其中PhoneCallListener是 * 扩展了PhoneStateListener的类*/ PhoneCallListener pcl=new PhoneCallListener(); TelephonyManager tm=(TelephonyManager)getSystemService(TELEPHONY_SERVICE); //设置监听电话的功能 tm.listen(pcl, pcl.LISTEN_CALL_STATE); } public class PhoneCallListener extends PhoneStateListener{ public void onCallStateChanged(int state,String incomingNumber){ switch(state){ //手机状态为待机时,手机铃声为正常模式 case TelephonyManager.CALL_STATE_IDLE: tv02.setText("CALL_STATE_IDLE"); AudioManager am=(AudioManager)getSystemService(Context.AUDIO_SERVICE); am.setMode(AudioManager.MODE_NORMAL); am.getStreamVolume(AudioManager.STREAM_RING); break; //手机状态为通话中 case TelephonyManager.CALL_STATE_OFFHOOK: tv02.setText("CALL_STATE_OFFHOOK"); break; //手机模式为响铃时 case TelephonyManager.CALL_STATE_RINGING: tv02.setText("CALL_STATE_RINGING"); //当来电号码与黑名单中的电话号码相同时,设置电话铃声为静音 if(incomingNumber.equals(tv01.getText().toString())){ AudioManager am01=(AudioManager)getSystemService(AUDIO_SERVICE); am01.setRingerMode(AudioManager.RINGER_MODE_SILENT); am01.getStreamVolume(AudioManager.STREAM_RING); Toast.makeText(A11Activity.this, "黑名单中的电话静音!!", Toast.LENGTH_LONG).show(); } } super.onCallStateChanged(state, incomingNumber); et.setOnKeyListener(new OnKeyListener(){ @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // TODO Auto-generated method stub tv01.setText(et.getText()); et.setText(""); return true; } }); } } }

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》及《Android开发入门与进阶教程》

希望本文所述对大家Android程序设计有所帮助。

时间: 2024-07-29 01:45:27

Android基于AudioManager、PhoneStateListener实现设置黑名单功能的相关文章

Android基于AudioManager、PhoneStateListener实现设置黑名单功能_Android

本文实例讲述了Android基于AudioManager.PhoneStateListener实现设置黑名单功能.分享给大家供大家参考,具体如下: 手机中一般有设置黑名单的功能.此例通过设置电话黑名单,当黑名单中的电话打来时,手机铃声为变成静音. 程序代码如下: import android.app.Activity; import android.content.Context; import android.media.AudioManager; import android.os.Bund

APP需要自己实现黑名单功能?

问题描述 环信已经具有IM的黑名单功能,黑名单是存储在环信服务器上吗?APP不想另外实现黑名单,是否可以从环信服务端获取到黑名单后,进行维护呢? 解决方案 环信这边黑名单是独立的,不是好友可以直接拉黑名单,还有就是假如 A是B 的好友,但也有可能在B 的黑名单里.环信的建议是你们有自己的好友体系就自己维护,包括好友的 增删改查 黑名单的管理,不用同步到环信这边.如果自己服务器没有通知客户端好友变更这种推送,可以调用rest接口发送透传消息给接收方发给通知!

php实现ip白名单黑名单功能

 本文给大家分享了2个php用于实现黑白名单的实用函数,分别是安全IP检测函数和获取客户端IP函数,注释里解释的非常清楚,这里我就不多废话了.     这个是一个检测ip是否非法的php函数,适应于白名单,黑名单功能开发,主要场景应用于:api来源限制,访问限制等.   代码如下: /** * 安全IP检测,支持IP段检测 * @param string $ip 要检测的IP * @param string|array $ips 白名单IP或者黑名单IP * @return boolean tr

php实现ip白名单黑名单功能_php技巧

这个是一个检测ip是否非法的php函数,适应于白名单,黑名单功能开发,主要场景应用于:api来源限制,访问限制等. 复制代码 代码如下: /**  * 安全IP检测,支持IP段检测  * @param string $ip 要检测的IP  * @param string|array $ips  白名单IP或者黑名单IP  * @return boolean true 在白名单或者黑名单中,否则不在  */ function is_safe_ip($ip="",$ips="&q

三星E7009有没有短信黑名单功能?E7009短信黑名单设置方法

短信黑名单非常容易设置的,我们只要在桌面下面的[设定]找到[呼叫/信息阻止]再点击[信息阻止],并选择[阻止已注册号码和短语].  2.进入之后再点击下面有一个[信息阻止列表]我们如果没加过里面为空白,如果加过会有号码,我们现在点击[+]图标. 3.输入要阻止的联系人号码(也可点击右侧的[联系人]图标添加号码),然后点击[保存]即可. E7009短信黑名单完成了这样对方的短信你是无法接受了,但电话还是可以接受的,当然也可以设置电话黑名单了,具体就不介绍了,后面会有文章补充上.

Golang+Android基于HttpURLConnection实现的文件上传功能示例

本文实例讲述了Golang+Android基于HttpURLConnection实现的文件上传功能.分享给大家供大家参考,具体如下: 这里要演示的是使用Android程序作为客户端(使用HttpURLConnection访问网络),Golang程序作为服务器端,实现文件上传. 客户端代码: public static String uploadFile(String uploadUrl, String filePath) { Log.v(TAG, "url:" + uploadUrl)

混合“白+黑”名单方法是如何帮助企业加强安全的?

大规模数据泄露事故正在以创纪录水平持续发生;检测最新恶意软件的国际独立服务提供商AV-TEST研究所每天都会注册超过39万新恶意代码变种;网络空间已经变成狂野西部,数据库正以前所未有的频率被盗以及在黑市出售.然而,我们无法每天将这么多数量的已知威胁列入黑名单,我们也无法将每个已知良好的应用列入白名单.托管安全服务提供商都难以成功抵御攻击者,因为大多数工具和技术都专注于已知威胁,而这已经不可能跟上威胁发展的步伐.目前严峻的现实是,我们正在失去这场战争.我们需要新的英雄,混合白名单-黑名单方法可能是

Android基于widget组件实现物体移动/控件拖动功能示例_Android

本文实例讲述了Android基于widget组件实现物体移动/控件拖动功能.分享给大家供大家参考,具体如下: package com.sky; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickLi

Android基于Sensor感应器获取重力感应加速度的方法_Android

本文实例讲述了Android基于Sensor感应器获取重力感应加速度的方法.分享给大家供大家参考,具体如下: FETC项目指导老师提出了新的需求,想要在游戏地图中表现出用户用户当期移动的方向,再用GPS的话显然很不靠谱,所以想到了android强大的感应器... 很多移动设备都内置了感应器,android通过Sensor和SensorManager类抽象了这些感应器,通过这些类可以使用android设备的传感器 一 介绍Sensor类 SDK只有一句介绍"Class representing a