我的问题是下一个:
当用户在Android手机上按住搜索按钮时,如果进度条处于运行状态,则会显示以下错误消息:
ERROR / AndroidRuntime ( 16794 ): java.lang. SecurityException: Requesting codes from com.google.android.voicesearch (with uid 10028) to be run in process com.xxxx.myApplication (with uid 10088)
因此,在此消息之后,我尝试了几件事:杀死进程'com.google.android.voicesearch':
JAVA代码:
if (event.getKeyCode() == KeyEvent.KEYCODE_SEARCH)
{
if (!event.isLongPress() && !Utils.getMyProgress().isShowing())
{
searchProducts();
}
else
{
android.os.Process.killProcess(android.os.Process.getUidForName("com.google.android.voicesearch"));
}
return true;
}
失败!因此,我们的想法是阻止启动进程“com.google.android.voicesearch” 每当电话用户长时间保持其电话的键(触摸)“寻找”时(例如,在htc上,该键(触摸)存在。而是,物理而不是触觉键(触摸)!)
在我的应用程序启动时,也许可以阻止在manifest.xml中启动此过程('com.google.android.voicesearch'):
manifest.xml:
<application
android:debuggable="false"
android:enabled="false"
android:killAfterRestore="false"
android:process="com.google.android.voicesearch">
</application>
有什么想法吗? 谢谢你的回答!
答案 0 :(得分:0)
为了在Android系统的帮助下实现搜索(向搜索活动提供搜索查询并提供搜索建议),您的应用程序必须以名为searchable configuration的XML文件的形式提供搜索配置。它配置搜索对话框或窗口小部件的某些UI方面,并定义诸如建议和语音搜索等功能的行为。此文件传统上命名为searchable.xml
,必须保存在res/xml/
项目目录中。
根据this page,您只需从该文件中删除语音条目。