好吧,看起来你想做的是一个应用程序,它将在模拟器上进行测试时,在Android设备上为你的应用程序模拟传感器。

可能在你的应用程序中,你有这样一行:

SensorManager mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);为什么不创建一个具有您从SensorManager使用的方法的界面:

interface MySensorManager {

List getSensorList(int type);

... // You will need to add all the methods you use from SensorManager here

}然后为传感器管理器创建一个包装器,它只是在真正的SensorManager对象上调用这些方法:

class MySensorManagerWrapper implements MySensorManager {

SensorManager mSensorManager;

MySensorManagerWrapper(SensorManager sensorManager) {

super();

mSensorManager = sensorManager;

}

List getSensorList(int type) {

return mSensorManager.getSensorList(type_;

}

... // All the methods you have in your MySensorManager interface will need to be defined here - just call the mSensorManager object like in getSensorList()

}然后创建另一个MySensorManager,这次通过套接字与桌面应用程序进行通信,您将在其中创建输入传感器值的位置或其他位置:

class MyFakeSensorManager implements MySensorManager {

Socket mSocket;

MyFakeSensorManager() throws UnknownHostException, IOException {

super();

// Connect to the desktop over a socket

mSocket = = new Socket("(IP address of your local machine - localhost won't work, that points to localhost of the emulator)", SOME_PORT_NUMBER);

}

List getSensorList(int type) {

// Use the socket you created earlier to communicate to a desktop app

}

... // Again, add all the methods from MySensorManager

}最后,替换你的第一行:

SensorManager mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);用一条新线:

MySensorManager mSensorManager;

if(YOU_WANT_TO_EMULATE_THE_SENSOR_VALUES) {

mSensorManager = new MyFakeSensorManager();

else {

mSensorManager = new MySensorManagerWrapper((SensorManager)getSystemService(SENSOR_SERVICE));

}现在,您可以使用该对象而不是之前使用的SensorManager。

Android传感器模拟器,如何为Android构建传感器模拟器?相关推荐

  1. Android模拟器学framework和driver之传感器篇3(Android HAL)

    Android模拟器学framework和driver之传感器篇3(Android HAL) 前面,带着大家一起写了一个temperature sensor的驱动,已经一个测试tool来测试这个驱动, ...

  2. 【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )

    文章目录 一.官方文档 二.Android 命令行工具简介 1.SDK 命令行工具 2.SDK 构建工具 3.SDK 平台工具 4.模拟器工具 5.Jetifier 工具 一.官方文档 Android ...

  3. android传感器获取运动方向,Android开发者指南-运动传感器Motion Sensor[原创译文]...

    Android 平台支持很多监测设备运动的传感器.其中有两个传感器一定是基于硬件的(加速度计和陀螺仪),有三个可能基于硬件或软件(重力计.线性加速计和旋转向量传感器). 比如,某些设备的软传感器利用加 ...

  4. Android学习小记-----监听并保存传感器数据,让service后台运行(保持CPU运转

    最近做了一个Demo,监听手机中传感器的数据,并将数据保存到手机文件中,发现数据会有丢失的现象. 经过多次测试,发现系统进入深度休眠了,之后service会停止,虽然增加了service自动启动的功能 ...

  5. Pro Android学习笔记(一五五) 传感器(5) 磁场传感器和方位(上)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 文章转载 ...

  6. Pro Android学习笔记(一五五):传感器(5): 磁场传感器和方位(上)

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei. 磁场传感器(Magne ...

  7. Android传感器利用Senser实现不同的传感器

    传感器有不同的类型,以下是我列出的光线,加速度,风向传感器,在测试不同传感器的时候都需将传感器管理的onResume中 sensorManager.registerListener(myListner ...

  8. android 心率动画,如何在Android Wearable中访问心率传感器?

    在我完成以下操作后开始为我工作: >从手表中卸载我的应用程序 adb -s localhost:4444 uninstall com.example.android.wearable.jumpi ...

  9. android学习笔记---57_采用方向传感器实现指南针,android设备传感器介绍,以及使用方法

    Java技术qq交流群:JavaDream:251572072 ------------------------------------------------------ 传感器类型:方向.加速度( ...

最新文章

  1. request.form()和request()和request.data的区别
  2. iOS Storyboard创建APP 的国际化操作
  3. MySQL第11天:MySQL索引优化分析之性能分析
  4. Gridview分页模板
  5. 很多优秀的软件公司和开发者为什么愿意开源和共享?
  6. HBuilder X格式化美化代码快捷键
  7. 分式求二阶导数_近10年高考数学“导数大题”分析,附2021备考建议
  8. UOJ310 黎明前的巧克力 FWT
  9. Symantec(赛门铁克)非受管检测
  10. PHP获取URL完整路径及物理路径
  11. 不要给我说什么底层原理_连集合底层实现原理都不知道,你敢说 Redis 用的很溜?...
  12. AttributeError: module 'socketio' has no attribute 'Server'
  13. Java基础-运行原理及变量(01)
  14. paip.提升开发效率---事件化V0829
  15. linux如何查看内存?
  16. vim 插件配置与安装
  17. SQL Server忘记密码后成功重置密码的方法
  18. 网络工程师工作经验分享
  19. [原创] IE中的图片显示不出来
  20. 三方支付之支付宝支付实现逻辑

热门文章

  1. java的接口语法_JAVA接口的基本语法
  2. 数学分析闭区间套定理_不能精确找到背驰点?利用区间套解决这难题
  3. 周长相等的正方形面积一定相等_三年级下册数学期末重点——面积
  4. Oracle统计产生日志数据增长增量
  5. 计算机共享文件怎样添加,怎么添加另一台电脑的共享文件夹
  6. 典型的DIV+CSS布局(左中右)
  7. 口红会染唇是什么意思_会涂口红和不会涂口红的女生,区别这么大?!
  8. windows知识点2
  9. 『中级篇』Docker-cloud介绍(54)
  10. buildroot 编译问题