【问题标题】:Prevent a process from starting and block its launching阻止进程启动并阻止其启动
【发布时间】:2011-09-23 09:50:22
【问题描述】:

我的问题是下一个:

当用户在安卓手机上按住搜索按钮时,当进度条在运行时,会显示以下错误消息:

 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>

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

【问题讨论】:

    标签: android process permissions


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-19
      • 2017-05-25
      相关资源
      最近更新 更多