繁体   English   中英

检查Android设备是否有搜索硬件按钮

[英]Check if Android device has search hardware button

我需要帮助弄清楚如何检查设备是否配备了搜索硬件按钮。 这可能吗?

编辑:我说的是找出设备是否有搜索硬件按钮。 简单的问题。 每个Android设备都有一组硬件按钮; 菜单,主页按钮,后退按钮和搜索按钮。 但是有些设备只配备了部分设备,而不是全部。

编辑2:我问的原因是因为我想在我的UI中显示一个软件按钮,如果设备没有配备硬件按钮。 我在我的活动中使用可搜索的界面。 我没有遵循EditText / TextField方法。

我认为你不需要检测它是否真的有一个搜索硬件按钮。 该框架将帮助你(虽然,我确信一旦冰淇淋三明治发布,这个过程将被简化)

目前,唯一没有硬件搜索的设备是Honeycomb平板电脑。 因此,通过使用android:targetSdkVersion="11" (或更高版本),将implements OnQueryTextListener添加到FragmentActivity ,然后添加如下内容:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.notebooks_menu, menu);
    final SearchView sv = new SearchView(getActivity());
    sv.setOnQueryTextListener(this);
    menu.findItem(R.id.search_notebooks).setActionView(sv);
}

你基本上可以解决这个问题。 现在,为了让它在Honeycomb之前的设备上运行,您可能需要使用兼容性库 ,或者在代码中使用反射或其他一些防护。

编辑

三星Galaxy S II没有专用的硬件搜索按钮,但如果您按住菜单按钮几秒钟,它将开始充当硬件搜索按钮。

更好的方法是你可以用两种方式

  1. 放下搜索按钮并调用onSearchRequested();

  2. 第二种方式点击editText把android:imeOptions="actionSearch"所以你需要
    检查钥匙

     searchBox.setOnEditorActionListener(new OnEditorActionListener() { public boolean onEditorAction(TextView textView, int id,KeyEvent event) { if (id == EditorInfo.IME_ACTION_SEARCH) { //do what ever you want } return true; } }); 

希望这会帮助你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM