当前位置: 首页 > 知识库问答 >
问题:

如果未授予相关权限,则检测android wear传感器是否存在

邢璞
2023-03-14

我的手表需要访问心率传感器,我想知道是否有一个物理传感器存在之前,要求许可。根据文档,我可以用两种方法来完成:

private SensorManager mSensorManager;
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
List<Sensor> deviceSensors = mSensorManager.getSensorList(Sensor.TYPE_HEART_RATE);

boolean heartRateSensorEnabled = mSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE) != null;

但是,如果没有授予权限(这是默认情况下的),我将得到空的传感器列表,也没有默认的传感器。这让我不得不要求允许,即使这是没有意义的(例如索尼SW3就没有传感器)。是否有方法区分“拒绝许可”和“不存在传感器”?

共有1个答案

梅宏盛
2023-03-14

尝试查看RequestPermissionshttps://developer.android.com/reference/android/support/v4/app/activitycompat.html#RequestPermissions(android.app.activity,java.lang.String[],int)方法。它具有回调ActivityCompat.OnRequestPermissionsResultCallback,该回调在权限被拒绝或未被拒绝时返回。

要检查传感器是否存在,请尝试使用SO线程中列出传感器并查找type_heart_rate的代码。

 类似资料:
  • 我已经创建了自己的android。这样我就可以使用隐藏的API调用“DisplayManager.connectWifiDisplay()”。 当我运行应用程序并调用该方法时,在通过Wifi Direct连接到显示器后, 我得到以下例外: java.lang.SecurityException:连接到wifi显示器所需的权限:用户10105和当前进程都没有android.Permission.CO

  • 问题内容: 尝试写这个: 找不到执行此简单任务的当前方法。 注意:即使需要其他方法,iOS7也应该可以使用 问题答案: 您可以使用以下代码执行相同的操作: 注意: 确保在构建阶段的“链接二进制”部分中添加框架 您应该在课堂上写一些用于导入的内容 SWIFT 3 斯威夫特4

  • 在Android M(预览版)中,用户可以选择特定的应用程序并检索特定的权限。 所以我想问的是如何在运行时检查授权权限?

  • 在我的应用程序中,我想执行非活动类中存在的特定函数,但在执行此函数之前,应检查是否授予了某些权限。我在运行时处理请求权限,但如何检查用户是否拒绝此权限并检查“不再显示” 在我的情况下,我检查是否使用授予权限 但是,每当我在设置中设置权限

  • 我有一个针对SDK28的Android应用程序,所以我有处理的权限。我检查是否设置了,但当Exoplayer尝试读取文件(我验证该文件确实存在)时,我看到 com.google.android.exoplayer2.upstream.filedatasource$filedatasourceException:java.io.fileNotfoundexception:/storage/emula

  • 我有一个应用程序,用户可以上传照片。上传的照片将通过firestore适配器显示在主页recyclerview中。如何检查照片是否正常,然后将照片显示在主页上。 照片正在上传Firebase存储和fiRecovery复制和粘贴照片的令牌url。