Android 已启动的应用程序未更新搜索查询

Android 已启动的应用程序未更新搜索查询,android,android-intent,Android,Android Intent,我目前正在开发一个android应用程序,它必须启动其他应用程序(YouTube等)来执行搜索查询。我已通过以下代码成功地向其他应用程序发送搜索查询: searchIntent = new Intent(Intent.ACTION_SEARCH); searchIntent.putExtra("query", searchPhrase); searchIntent.setPackage(packageName); //Youtube package name, etc start

我目前正在开发一个android应用程序,它必须启动其他应用程序(YouTube等)来执行搜索查询。我已通过以下代码成功地向其他应用程序发送搜索查询:

searchIntent = new Intent(Intent.ACTION_SEARCH);
    searchIntent.putExtra("query", searchPhrase);
    searchIntent.setPackage(packageName); //Youtube package name, etc
startActivity(searchIntent);
不幸的是,当被查询的应用程序保持运行并执行另一个查询时,它只是使用原始查询重新启动,无法执行另一个搜索

例如:我启动一个名为“puppies”的YouTube搜索意图。然后我将该YouTube实例作为背景,并启动另一个名为“kittens”的搜索意图。启动第二个意图后,同一个YouTube实例将启动,并继续在搜索栏中显示“puppies”

我尝试过使用各种标志(FLAG_ACTIVITY_NEW TASK、FLAG_ACTIVITY_CLEAR_TOP和其他标志)来解决这个问题,但都无济于事

是否有人知道我可以如何在启动的活动中重置搜索查询,以便在不杀死活动实例的情况下执行第二次搜索(返回按钮或其他)

提前感谢您的帮助


编辑:我发现这个问题是特定于从服务启动的意图。如果意图是从活动启动的,则启动应用程序将无缝过渡到已启动的应用程序,并强制用户按后退按钮以返回启动应用程序。不幸的是,我试图从IntentService启动此意图,因此我遇到了这个问题。

我认为这可能与Android应用程序的生命周期有关,它实际上取决于每个特定应用程序对意图的反应,以及它对OnResume()方法的作用,我想说的是,除非你在打开应用程序之前找到一种杀死它的方法,否则你可能会被它卡住。@aehs29你说得对。希望有办法解决这个问题!