使用生物识别 androidX 库 1.1.0 时崩溃

问题描述

在我的应用中,我使用的是 androidX 生物识别支持库 1.1.0。在所有 Android 版本上,我的应用程序都崩溃了。这是我使用的代码片段

异常:

java.lang.IllegalStateException: 必须从片段宿主的主线程调用

在:

<body>
<div class="container-fluid">
  <div class="row">
    <div class="uiBox" data-search-type="category/tree" class="col-xs-4">
    <ul class="categories">
      <li class="category-001">
        <a href="/listing" title="Text" class="text"></a>
      </li>
    </ul>
    </div>
    <div class="container1 col-xs-2"></div>
    <div class="container1 col-xs-2"></div>
    <div class="container1 col-xs-2"></div>
    <div class="container1 col-xs-2"></div>
    <div class="container1 col-xs-2"></div>
  </div>
</div>
</body>

解决方法

我已将代码移至 UI 线程

const list = [
  { name: 'script1',id:'1' },{ name: 'script2',id:'2' },{ name: 'script3',id:'3' }
];
const users = [
  { name: 'user1',scripts:[ { name: 'script1',id:'1' } ] },{ name: 'user2',id:'2' } ] }
];
const TOTAL = users.length;

const usage = users.reduce((scriptUsagesMap,{ scripts=[] }) => {
  scripts.forEach(({ id }) => {
    const count = scriptUsagesMap.get(id) || 0;
    scriptUsagesMap.set(id,count + 1);
  });
  return scriptUsagesMap;
},new Map);

const result = list
  .filter(({ id }) => usage.get(id) !== TOTAL)
  .map(({ name }) => ({ name }));

console.log(result);