防止进程启动并阻止其启动

时间:2011-09-23 09:50:22

标签: android process permissions

我的问题是下一个:

当用户在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>

有什么想法吗? 谢谢你的回答!

1 个答案:

答案 0 :(得分:0)

为了在Android系统的帮助下实现搜索(向搜索活动提供搜索查询并提供搜索建议),您的应用程序必须以名为searchable configuration的XML文件的形式提供搜索配置。它配置搜索对话框或窗口小部件的某些UI方面,并定义诸如建议和语音搜索等功能的行为。此文件传统上命名为searchable.xml,必须保存在res/xml/项目目录中。

根据this page,您只需从该文件中删除语音条目。