所以我正在寻找一种方法来获得按钮按下时光传感器的当前值(显然是在Lux中).这是我用来实现光传感器控制的代码
public class SensorActivity extends Activity implements SensorEventListener
{
private final SensorManager mSensorManager;
private final Sensor mLight;
int minLux = 0;
int currentLux = 0;
int maxLux;
public SensorActivity()
{
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mLight = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
}
protected void onResume()
{
super.onResume();
mSensorManager.registerListener((SensorEventListener) this, mLight, SensorManager.SENSOR_DELAY_NORMAL);
}
protected void onPause()
{
super.onPause();
mSensorManager.unregisterListener((SensorListener) this);
}
public void onAccuracyChanged(Sensor sensor, int accuracy)
{
if(sensor.getType() == Sensor.TYPE_LIGHT)
{
}
}
public void onSensorChanged(SensorEvent event)
{
if( event.sensor.getType() == Sensor.TYPE_LIGHT)
{
}
} …Run Code Online (Sandbox Code Playgroud) 我正在从SensorEvent数据中读取时间戳值,但我无法确定这些值的参考时间.Android文档只是说"事件发生的纳秒时间"作为一个例子:
我目前的Android设备日期,2011年10月14日23:29:56.421(GMT + 2)
System.currentTimeMillis*1000000(nanosec)= 1318627796431000000(没关系)
sensorevent.timestamp(nanosec)= 67578436328000 = 19小时46分钟?
你能救我吗?
谢谢
我已经阅读了一些关于哪个线程调用各种回调方法的讨论,例如与Sensors相关的回调方法.大多数人声称UI线程调用回调 - 即使涉及单独的工作线程.我们对此有所了解吗?
请考虑以下情形:单独的类实现Runnable和SensorListener.UI线程(在onCreate期间)启动runnable,然后返回其他业务.现在独立的工作线程在其自己的类中注册SensorListener.
请注意,UI线程永远不会与SensorManager或SensorListener进行任何交互.唯一涉及与Sensor有关的线程,以及它所知道的唯一类和成员方法,是工作线程及其类.
我很难想象UI线程会在这种情况下调用回调.然而,在线讨论非常"自信".有人知道吗?
谢谢!
我想使用一个SensorTag 2,这样它就可以在那里播放它的数据(并且可以通过蓝牙进行关键连接),从它打开时到\当我关闭它时.开箱即用,标签设置为仅通过蓝牙通告几分钟,这意味着当连接最终失败或连接到标签的设备启动等等时,如果没有实际访问标签并重置,则无法再次连接它.
我看到有myWeatherCenter人员创建的固件让标签作为气象站工作,基本上将其设置为无限期广告...令人沮丧但他们的固件只是sensortag版本1 :-(
我现在已经研究了几个月和几个月没有回来......暗示没有其他人想要这个,有一个非常简单的解决方案,其他人都知道或者......?我甚至看不到其他人真的在问这个问题......这令人担忧.有没有人有固件文件为sensortag 2设置此设置或知道如何修改固件来设置此设置?
我只是想知道iPhone开发是否允许使用光传感器,作为按钮或动作元素?
我在网上找到了这个链接...
可以将光传感器用作按钮吗?[存档] - 触摸街机
如果有人能对这个问题有所了解,我会很感激帮助吗?
干杯.
Divanshu.
我需要在纵向和横向模式下读取音调值(手机向后和向前倾斜了多少)。在人像中使用下面的代码波纹管,当手机保持面朝上平放时,我从value [1]得到的值是0.0,直立时为-90,设备面朝上时为180。到现在为止一切都很好...当设备处于横向模式时,问题就来了。此时,我正在使用value [2]来测量设备的倾斜度,但是问题在于值:当手机保持平放状态(确定)时,值为0;当手机直立放置(确定)时,值为0;但是当我继续进行操作时,则变为90。移动值再次下降到90以下(80、75等),因此基本上我无法区分这两个位置,因为值相同。所以我做错了
与此处的问题相同:http ://groups.google.com/group/android-beginners/browse_thread/thread/c691bbac3e294c7c?pli=1
我有以下代码:
private void ReadOrientationSensor(){
final SensorManager sensorManager;
final TextView text = (TextView) this.findViewById(R.id.TextView01);
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
SensorEventListener listener = new SensorEventListener() {
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
@Override
public void onSensorChanged(SensorEvent event) {
float x,y,z;
x=event.values[0];
y=event.values[1];
z=event.values[2];
//text.setText(String.valueOf(event.values[0]));
text.setText("x: " + x + " y: " + y + " z: " + z);
}
};
sensorManager.registerListener(listener, sensor,SensorManager.SENSOR_DELAY_FASTEST);
Run Code Online (Sandbox Code Playgroud)
}
我计划通过集成3D深度传感器(如Kinect或Asus Xtion Pro)来提供预制机器人3D视觉.这是我能找到的唯一两个我想象的还有更多正在构建或已经存在的东西.
有没有人对我可以使用的硬件有任何建议,或者哪两个对于集成到ROS(机器人操作系统)的开源项目更好.
有什么方法可以让我每秒获得传感器读数吗?什么是SENSOR_DELAY_NORMAL费率,以秒为单位?
sm=(SensorManager)getSystemService(SENSOR_SERVICE);
accelerometer=sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sm.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写最简单的陀螺仪实现(仅在屏幕更改时记录屏幕的方向).有人可以提供一个简单的例子吗?
这就是我现在正在尝试的:
public class LessonFiveGLSurfaceView extends GLSurfaceView implements SensorEventListener
{
private LessonFiveRenderer mRenderer;
public LessonFiveGLSurfaceView(Context context)
{
super(context);
System.out.println("test");
}
@Override
public void onSensorChanged(SensorEvent event)
{
//output the Roll, Pitch and Yawn values
System.out.println("Orientation X (Roll) :"+ Float.toString(event.values[2]) +"\n"+
"Orientation Y (Pitch) :"+ Float.toString(event.values[1]) +"\n"+
"Orientation Z (Yaw) :"+ Float.toString(event.values[0]));
}
Run Code Online (Sandbox Code Playgroud)
但是我收到错误:"LessonFiveGLSurfaceView类型必须实现继承的抽象方法SensorEventListener.onAccuracyChanged(Sensor,int)".
我正在尝试为Android制作指南针应用程序,正如许多其他人在我之前所做的那样.
但是,我在理解整个旋转矩阵事物应该如何工作时遇到了问题.我已经尝试了前进的方法,并提出了以下代码:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so …Run Code Online (Sandbox Code Playgroud)