提交可搜索查询后,Pip 正在关闭
Pip is closing after submitting a searchable query
我有一个极端情况,当启用 pip 并且用户想要搜索某些内容时,pip 将被取消(当用户提交包含多个项目的查询时)。
搜索组件基于 <searchable>
而我们使用 SearchViewListener
从搜索视图组件获得反馈。
@Override
public boolean onQueryTextSubmit(final String query) {
if (!TextUtils.isEmpty(query)) {
saveSearchSelection(query);
fetchSearchResults(query, FULL_RESULTS_LIMIT);
}
return false;
}
当我将 return 值更改为 true 时,点子不会被取消,但我遇到另一个问题,当您在单击项目后单击返回时,您将 return 到主activity 而不是之前的列表,这是一个回归。
我想知道是否有不同的解决方案不涉及重写整个搜索列表结果只是为了支持 pip
谢谢
更新
我今天有更多时间来玩代码,我想我找到了 pip 关闭的原因。我们正在启用
的语音搜索
public boolean onCreateOptionsMenu(Menu menu){
//Set up SearchableInfo (need this for voice search)
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(new ComponentName(getBaseContext(), UnifiedSearchResultsActivity.class)));
}
当我删除这两行时,pip 没有关闭并继续播放,没有任何问题。我想知道是否有人有这个问题或知道如何解决它。我们的目标也是 API 30 级。
最后我设法使用以下代码解决了这个问题
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
我有一个极端情况,当启用 pip 并且用户想要搜索某些内容时,pip 将被取消(当用户提交包含多个项目的查询时)。
搜索组件基于 <searchable>
而我们使用 SearchViewListener
从搜索视图组件获得反馈。
@Override
public boolean onQueryTextSubmit(final String query) {
if (!TextUtils.isEmpty(query)) {
saveSearchSelection(query);
fetchSearchResults(query, FULL_RESULTS_LIMIT);
}
return false;
}
当我将 return 值更改为 true 时,点子不会被取消,但我遇到另一个问题,当您在单击项目后单击返回时,您将 return 到主activity 而不是之前的列表,这是一个回归。 我想知道是否有不同的解决方案不涉及重写整个搜索列表结果只是为了支持 pip
谢谢
更新
我今天有更多时间来玩代码,我想我找到了 pip 关闭的原因。我们正在启用
的语音搜索public boolean onCreateOptionsMenu(Menu menu){
//Set up SearchableInfo (need this for voice search)
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(new ComponentName(getBaseContext(), UnifiedSearchResultsActivity.class)));
}
当我删除这两行时,pip 没有关闭并继续播放,没有任何问题。我想知道是否有人有这个问题或知道如何解决它。我们的目标也是 API 30 级。
最后我设法使用以下代码解决了这个问题
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));