【问题标题】:Close the App launched using intent when back pressed按下后关闭使用意图启动的应用程序
【发布时间】:2013-04-01 19:05:51
【问题描述】:

从我的应用程序“myApp”中,我使用以下代码在意图中使用各自的包名启动单独的应用程序(例如应用程序 A、B、C 等):

Intent LaunchIntent =  getActivity().getPackageManager().getLaunchIntentForPackage(packagename);

if(null!=LaunchIntent)
   {
      startActivity(LaunchIntent);
   }

现在,当我按下返回时,我想关闭启动的应用程序。我无法控制启动的应用程序。现在,当我按下返回时,我回到“myApp”,但启动的应用程序的音频一直在后台播放。任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 感觉像是这个应用程序的一个错误,它应该在关闭时停止播放音频。如果您可以访问其源代码 - 您最好先修复此错误。
  • 不,我不能更改它的代码。
  • 那么您似乎对那个应用程序没有足够的控制权。您无法在不重写其代码的情况下更改该应用程序处理返回键的逻辑。

标签: android android-intent


【解决方案1】:

据我了解,音频是在 Service 或 Activity 中播放的,而您对 ActivitiesActivity Lifecycle 并不熟悉。如果音频在 Service 中播放,则必须在 onBackPressed 方法中停止 Service。如果音频在 Activity 中,则应在正在播放的 Activity 的覆盖 onPause 方法中添加停止音频播放。如果您启动第三方应用程序(并且您无法访问代码),您无法让它从您的应用程序中停止。

【讨论】:

  • 不,我不能更改它的代码。该应用程序中有一个专用的关闭按钮。如果使用它,那么它会正确关闭。如果按下后退按钮,它会继续播放音频。无论如何感谢您的回答。我也是这么想的。我会等待一段时间从其他人那里得到答案。如果我没有得到任何答案,我会将你的标记为答案。
  • 如果是音频播放器或后台运行的东西,停止过程与它的Activity无关。除非作者为其创建了特殊的意图或广播接收器,否则不可能以编程方式停止。
猜你喜欢
  • 2021-10-08
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
  • 1970-01-01
  • 2011-10-29
  • 2016-11-08
  • 2023-04-08
  • 1970-01-01
相关资源
最近更新 更多