如何修改音乐的匹配字数

在Android整机开发中碰到一个问题,在谷歌的快速搜索应用中,需要输入3个或以上的字符(中文or英文),程序才会进行匹配,并提供符合的音乐文件名称。产品那边要求改成1个字就匹配。所以一顿好找,终于找到问题所在。

android\frameworks\base\core\java\android\app\SearchableInfo.java 
在该文件中,可以看到如下代码,定义了最小匹配字数,当小于该字数时,不一定匹配,但是大于等于该字数就一定会匹配。
    mSuggestThreshold = a.getInt(
                com.android.internal.R.styleable.Searchable_searchSuggestThreshold, 0);

注意看属性:

com.android.internal.R.styleable.Searchable_searchSuggestThreshold
对于音乐模块,该属性值实际来自:

music/res/xml/searchable.xml
该文件内容如下:

<searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:label="@string/search_title"
    android:hint="@string/search_hint"
    android:includeInGlobalSearch="true"

    android:searchSuggestAuthority="media"
    android:searchSuggestPath="external/audio/search"
    android:searchSuggestThreshold="3"
    android:searchSuggestIntentAction="android.intent.action.VIEW"
    android:searchSettingsDescription="@string/search_settings_description"
/>

所以,一目了然有没有!!只需要将里面的searchSuggestThreshold改成1即可。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值