相关疑难解决方法(0)

如何在Android Wearable中访问心率传感器?

我在Moto 360上访问心率传感器时遇到问题.

我试过以下事情:

Sensor mHeartRateSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);
mSensorManager.registerListener(this, mHeartRateSensor, SensorManager.SENSOR_DELAY_NORMAL);
Run Code Online (Sandbox Code Playgroud)

然后实现SensorEventListener接口:

@Override
public void onSensorChanged(SensorEvent event) {

        String TAG = "tag";
        Log.i(TAG, "--------------------------");
        Log.i(TAG, msg);
        Log.i(TAG, ""+ event.sensor.getType());
        Log.i("live","--------------");
Run Code Online (Sandbox Code Playgroud)

而对我来说奇怪的是我根本没有得到任何信息(不仅是心率).

此外,我尝试列出所有传感器,但它没有在列表中显示心率传感器.

当然,我已经添加了持久性

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.watchtest" >

<uses-feature android:name="android.hardware.type.watch" />
<uses-permission android:name="android.permission.BODY_SENSORS" />
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

谢谢.

W上.

android moto-360 wear-os

11
推荐指数
2
解决办法
2万
查看次数

是否可以在我的应用中从 Androidwatch 获取心率更新?

我有一个 Android 应用程序,我想从任何连接的 Android 手表(Wear OS、Tizen 等)读取心率。如果不开发可穿戴应用程序,这可能吗?

我尝试在 上注册一个监听器,Sensor.TYPE_HEART_RATE但我没有看到我显示的 3 款手表中的任何一款(Ticwatch E、Ticband、Gear S2)。我确保我请求Manifest.permission.BODY_SENSORS许可。

sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager?

    heartRateSensor = sensorManager?.getDefaultSensor(Sensor.TYPE_HEART_RATE)

    val registered = sensorManager?.registerListener(this, heartRateSensor, SensorManager.SENSOR_DELAY_NORMAL)
    Log.i(TAG, if (registered!!) "Registered Listener" else "Failed to register listener")
Run Code Online (Sandbox Code Playgroud)

android android-sensors samsung-gear-s2 heartrate wear-os

5
推荐指数
1
解决办法
1711
查看次数

从 Android Wear 获取心率

我知道这可能是一个非常简单的问题,很多人都问过同样的问题,但我在获取心率方面仍然遇到问题。当然,我已经为解决方案做了很多研究。

一般来说,要使用心率传感器,我们需要获得权限使用sensormanager,并且需要在mainActivity中为传感器注册监听器。

这里有人说对于SDK 23或更高版本,我们需要单独声明权限,但到目前为止我只开发了Android Wear的部分,没有关于手机的部分。

我还尝试重新安装并重新运行该应用程序。所有这些方法对我都不起作用。

这是我的代码,我想要的只是在手表上显示心率。

AWHeartRateSensor\wear\src\main\java\com\example\android\awheartratesensor\MainActivity.java

package com.example.android.awheartratesensor;

import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.support.wearable.view.WatchViewStub;
import android.util.Log;
import android.widget.TextView;

import static com.google.android.gms.wearable.DataMap.TAG;

public class MainActivity extends Activity {

private SensorManager mSensorManager;
private Sensor mHeartSensor;
private TextView mTextView;
WatchViewStub mStub;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
        mStub = (WatchViewStub) findViewById(R.id.watch_view_stub);
    mStub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
        @Override
        public void onLayoutInflated(WatchViewStub stub) {
            mTextView = (TextView) stub.findViewById(R.id.text);
            mTextView.setText("I am …
Run Code Online (Sandbox Code Playgroud)

android android-wear-2.0 wear-os

4
推荐指数
1
解决办法
7481
查看次数

未找到心率传感器(LG Watch Urbane)

我正在尝试使用 MainActivity.java 上的此代码访问我的 LG Watch Urbane 的心率传感器:

mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mHeartRateSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);
boolean sensorRegistered = mSensorManager.registerListener(this, mHeartRateSensor, SensorManager.SENSOR_DELAY_NORMAL);
Log.d("Sensor Status:", " Sensor registered: " + (sensorRegistered ? "yes" : "no"));
Run Code Online (Sandbox Code Playgroud)

问题是我收到此错误:

E/SensorManager: sensor or listener is null
Run Code Online (Sandbox Code Playgroud)

发生该错误是因为没有关联 TYPE_HEART_RATE 的传感器。因此,我编写了一些代码,以便使用 .getSensorList(Sensor.TYPE_ALL) 方法获取传感器的完整列表,我得到了这个:

03-14 02:56:43.221 2936-2936/? I/Sensor list: MPU6515 Accelerometer: 1
03-14 02:56:43.221 2936-2936/? I/Sensor list: AK8963 Magnetometer: 2
03-14 02:56:43.221 2936-2936/? I/Sensor list: AK8963 Magnetometer     Uncalibrated: 14
03-14 02:56:43.221 2936-2936/? I/Sensor list: MPU6515 Gyroscope: 4
03-14 02:56:43.221 2936-2936/? …
Run Code Online (Sandbox Code Playgroud)

android wear-os

2
推荐指数
1
解决办法
1677
查看次数