最近在做一个OA类的项目,当然产品经理可不止希望他是一个单纯的OA(CRM)项目,在开发中 产品经理要求做一个类似微信朋友圈的页面,可以查看一些类型的信息,其中有语音信息。

开始忙碌加班,项目在测试阶段,产品经理过来说咱们的内部信息不能让别人听到,所以,要加类似微信的听筒模式,这里我也是现学现卖的。下面是我的代码 (代码渣,多多指教)

/***************************1:这里首先实现接口SensorEventListener (这里我是在适配器里实例化的 ,对于三星手机可能会出问题 这里建议写在Activity里)

public class CRMCustomInformationAdapter extends BaseAdapter  implements SensorEventListener {

private List<CustomerInformation> mlist;
private BaseActivity mBaseActivity;

/************************2:声明控件
SensorManager _sensorManager = null; // 传感器管理器
Sensor mProximiny = null; // 传感器实例
private Object mlock = new Object();
float f_proximiny; // 当前传感器距离AudioManager audioManager = null; // 声音管理器

public CRMCustomInformationAdapter(List<CustomerInformation> list,
BaseActivity BaseActivity) {

this.mlist = list;
this.mBaseActivity = BaseActivity;

//***************************3:这里是实例化距离传感器 和管理者
audioManager = (AudioManager) mBaseActivity.getSystemService(Context.AUDIO_SERVICE);
_sensorManager = (SensorManager) mBaseActivity.getSystemService(Context.SENSOR_SERVICE);
mProximiny = _sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
_sensorManager.registerListener(this, mProximiny,SensorManager.SENSOR_DELAY_NORMAL);
}

/***************************************

/*
* 4:实现SensorEventListener需要实现的两个方法。

*         这里的 mProximiny.getMaximumRange()  是监听手机听筒旁的红外线感应器的  如果检测到有物体靠近听筒时  自动开启听筒播放功能

* if (f_proximiny >= mProximiny.getMaximumRange()) {
  * audioManager.setMode(AudioManager.MODE_NORMAL);
  * } else {
  * audioManager.setSpeakerphoneOn(false);
  * audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
  * }

*/
@Override
public void onSensorChanged(SensorEvent event) {
synchronized (mlock) {
f_proximiny = event.values[0];

if (f_proximiny >= mProximiny.getMaximumRange()) {
audioManager.setMode(AudioManager.MODE_NORMAL);
} else {
audioManager.setSpeakerphoneOn(false);
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
}
}
}

/*
  */
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {

}

public void releaseSensor() {
_sensorManager.unregisterListener(new SensorEventListener() {

@Override
public void onSensorChanged(SensorEvent event) {
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
});
}

开发中关于手机的听筒模式的设置相关推荐

  1. java 判断手机运营商_Java开发中识别手机运营商的方法

    在Java开发中程序需要根据用户输入的号码判断运营商,这该怎么实现呢?而我们需要根据不同的运营商进行相应的处理,下面是爱站技术频道小编介绍的Java开发中识别手机运营商的方法. js实现方法: var ...

  2. android 判断安装微信,Android开发中判断手机是否安装了QQ或者微信

    下面一段代码给大家分享了android中判断手机是否安装了qq或者微信,代码简单易懂,非常不错,具有参考借鉴价值,需要的的朋友参考下吧 public static boolean isWeixinAv ...

  3. 关于部分手机使用听筒模式播放音频时没有声音的问题

    这一个问题其实包含细节很多(涉及硬件和多媒体的细节问题都特别多),我只讲述我所遇见的问题,做一下记录 前提是如果使用扬声器播放声音的时候播放正常,而使用听筒模式下面播放声音却没有声音.这种情况仅有部分 ...

  4. 网上搜集到iOS开发中获取手机IDFA,手机序列号,设备名称,别名,分辨率等信息,这里做个总结

    下述函数中写入获取信息的代码 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDict ...

  5. android开发中调用手机的豌豆荚、应用宝等市场进行评分操作,以及分享功能

    应用场景:某个手机阅读器程序,读者看到一篇 文章 ,觉得不错,想要与朋友分享  .  应用展现:按手机的Menu键,弹出"分享"菜单,点击后显示一系列Android分享功能的方式( ...

  6. Android开发中之手机定位(记录)

    本篇博客主要记录一下如何进行手机定位到某一个城市之类的功能.当前,这里用到了百度地图的第三方地图解析API. 百度地图开放平台地址:http://lbsyun.baidu.com/index.php? ...

  7. android开发模式,Android开发中无处不在的设计模式

    Android开发中无处不在的设计模式――单例模式 Android开发中无处不在的设计模式――Builder模式 前面介绍了单例模式和Builder模式,有兴趣的见上面两个链接,这篇文章侧重介绍1下视 ...

  8. Android开发中无处不在的设计模式——动态代理模式

    继续更新设计模式系列.写这个模式的主要原因是近期看到了动态代理的代码. 先来回想一下前5个模式: - Android开发中无处不在的设计模式--单例模式 - Android开发中无处不在的设计模式-- ...

  9. 前端开发中的MCRV模式

    针对前端开发中基于ajax的复杂页面开发所面临的代码规模大,难以组织和维护,代码复用性.扩展性和适应性差等问题,本文尝试以MVC思想为基础,结合Web前端开发中内容-结构-表现-行为相分离的开发标准, ...

最新文章

  1. Nacos深入浅出(三)
  2. why we have to redefine _isRefreshNeeded for oData model
  3. VB取得TextBox、RichTextBox光标所在的行和列(支持汉字)
  4. Linux 初始化 init 系统(一)
  5. 推荐给每个找工作的IT毕业生--打鸡血书
  6. 北京航天大学考研计算机科学与技术分数线,北京航空航天大学计算机科学与技术考研...
  7. 【原创】QT5-卸载精灵v1.0-卸载windows软件-简易版
  8. 南京信息工程大学 第二届程序设计大赛团队赛 试题
  9. 高效拓客必备工具:采集工具助力,让你事半功倍
  10. CentOS 7中yum安装java
  11. php十进制转ascii字符,(5条消息)php ASCII字符和十六进制数之间的相互转化
  12. js 获取系统时间
  13. 分享本电子书Sql Server 20008 internals
  14. Batch Normalization 批归一化是什么? 有什么用?
  15. ZStack深度试用:部署、架构与网络及其与OpenStack的对比
  16. PHP:POST 方法上传
  17. 科技部高新司副司长杨咸武:物联网前景广阔,大有可为
  18. CTFHUB(PWN)Ret2Text
  19. matlab写泰勒中值定理,基于Matlab环境优化Taylor中值定理教学
  20. DSP的EALLOW和EDIS指令

热门文章

  1. 前端SVG实现各式图片和动画
  2. Intel和AMD处理器各有什么特点?该如何选择?
  3. 视频会议,远程协助平台接入亮亮视野AR眼镜,UVC摄像头方案
  4. 学生学籍系统 按班级查找按学号查找
  5. FPGA学习日志——半加器half_adder
  6. Apache DolphinScheduler征稿 — 小Demo轻松入门DolphinSchedule大数据调度工具
  7. 支付平台--清算总的详解
  8. 与计算机相关的word的模板,将 Word 文档保存为模板
  9. 网络姻缘一线牵 大数据精准推广才能让合适的产品遇到合适的人!
  10. DirectX 9.0c游戏开发手记之RPG编程自学日志之11: 题外话