三星 8+ 没有收到任何活动识别事件
Posted
技术标签:
【中文标题】三星 8+ 没有收到任何活动识别事件【英文标题】:Samsung 8+ does not receive any Activity Recognition events 【发布时间】:2020-05-01 16:39:23 【问题描述】:我在三星 8+ 上运行 Google Codelab android Activity Recognition API 示例 https://codelabs.developers.google.com/codelabs/activity-recognition-transition/
虽然该示例在我的手机上正常启动,但我没有从活动识别 API 获得任何事件。 我首先认为这可能是权限问题,但在 Android 9 上我找不到 ACTIVITY_RECOGNITION 的权限设置,这对于 Android 10 及更高版本似乎是必需的。
有人可以指点一下我的的可能原因吗?
【问题讨论】:
【参考方案1】:即使在 Manifest 文件中注册广播接收器,您也需要在 Oreo+ 中动态注册,否则将无法正常工作。 试试这个。在主要活动中或在服务的 startCommand 中添加此代码。它对我有用。我也在 Android 10 上测试过此代码。完美运行。您不需要在清单中注册广播接收器。
@Override
protected void onStart()
super.onStart();
IntentFilter intentFilter=new IntentFilter(Constants.BROADCAST_DETECTED_ACTIVITY);
intentFilter.addCategory(Intent.CATEGORY_DEFAULT);
registerReceiver(broadcastReceiver,intentFilter);
【讨论】:
所以等等,我有点困惑,我在清单中注册了我的广播 + 在代码中动态地注册了,可以吗?它会制造 x2 或其他东西吗?【参考方案2】:我有 2 部运行 Android 9 的小米手机。1 部是 Redmi Note 3 并且正在运行。另一个 1 是 Pocophone,它不工作。
然后我用三星 Galaxy Grand Prime 安卓 5 进行了测试。它工作正常。现在我很困惑为什么有些设备会出现而有些不会出现。
【讨论】:
以上是关于三星 8+ 没有收到任何活动识别事件的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio 无法识别三星 Galaxy S8