三星 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+ 没有收到任何活动识别事件的主要内容,如果未能解决你的问题,请参考以下文章

活动不会随机呈现,在三星上只显示白屏

在三星 Galaxy S 上以人像模式“拍照并呈现”

Android Studio 无法识别三星 Galaxy S8

索尼三星华为电视65寸对比 选哪个

新机安卓第一机皇?三星Note9狙击新iPhone 8.9发

三星指纹识别新专利:手势打开不同应用