【问题标题】:Kill app processes after exit?退出后杀死应用程序进程?
【发布时间】:2015-11-05 03:26:52
【问题描述】:

我有以下代码,它会在服务中运行一段时间后播放一些音频。问题是,退出应用程序后,媒体播放器继续运行;我想在应用退出或关闭后停止播放音频。

顺便说一句,上面声明了十和三:

MediaPlayer 十; 媒体播放器三;

每次关闭应用程序时都会运行一段代码吗?如果是这样,我可以从那段代码调用 stopService()。

我非常感谢任何反馈(正面或负面)!非常感谢您的所有帮助,如果您需要更多代码,请告诉我。

{Rich}

【问题讨论】:

    标签: java android multithreading android-intent service


    【解决方案1】:

    onStop你可以mute player

    onResume你可以play music player

    OnDestroy你可以停止你的服务

    stopService(new Intent(YourService));
    

    供参考静音和取消静音播放器

    How to mute MediaPlayer in android

    【讨论】:

    • 当一个人通过按主页按钮或返回按钮离开时会调用哪个?
    • 还有,如果有来电什么的怎么阻止呢?
    • 按主页按钮活动将进入后台,因此 onStop 将调用。但按返回按钮活动将终止,因此 onDestroy 将调用
    • 对于块调用请参考stackoverflow.com/questions/1083527/…
    • 不,我不想阻止通话。我想在来电时停止我的服务。问题是,当我在使用我的应用程序时有人打电话给我时,音乐仍然在后台播放
    【解决方案2】:

    是的,Android 有一个运行 onCreate、onPause、onStop 和 onDestory 的生命周期。当您退出应用并希望停止播放器时,您可能需要在 onStop 中执行一些操作。

    你可以在http://developer.android.com/training/basics/activity-lifecycle/stopping.html查看生命周期

    干杯

    【讨论】:

    • 谢谢约翰!有没有办法可以在暂停时将其静音?如何在用户回来之前静音我的 android 应用程序?非常感谢,一旦我弄清楚了,我会标记你的最佳答案(+15 代表)并喜欢你的帖子(+5 代表)!
    • 嗯,可以使用Mediaplayer API中的setVolume函数,设置为setVolume(0,0),参考developer.android.com/reference/android/media/…
    • 这将改变用户可能不喜欢的整个设备音量。如何我的应用静音?
    • 如果是这样,为什么不直接使用 .pause() 呢?
    • 没关系,我明白你在说什么。我设置了媒体播放器音量,但收到空指针异常。知道为什么吗?
    【解决方案3】:

    如果您有一个活动始终是任务根,是任务根,那么在该活动中覆盖 onBackPressed 可能是判断就用户而言,应用程序正在“退出”。当活动仅发送到后台时,您不会想终止进程。

    【讨论】:

    • 你对多项活动有什么建议
    • @Rich 如果你有多个活动,你还没有退出应用程序。
    • 问题是,用户总是在活动之间切换。如果他们决定按下主页按钮,我想关闭所有进程。我怎样才能做到这一点?我无法控制用户将退出应用程序的何处,但无论他/她在何处,我都想退出所有进程。
    • @Rich "如果他们决定按下主页按钮,我想关闭所有进程。" - 这是激怒用户的好方法。如果用户按下主页,应用程序应保持运行。 (或者至少它应该以这种方式呈现给用户。)
    • 我同意,问题是,如果在他们尝试使用另一个应用程序时每隔几秒钟就有随机声音运行,这会让他们更加恼火。有没有办法让我的应用静音,直到他们回来?一旦我得到这个工作,我会标记你的最佳答案并喜欢你的帖子。谢谢! :)
    【解决方案4】:

    您需要检查的是应用何时进入后台以及应用何时进入后台停止您的服务。为此,您需要使用

    ActivityLifecycleCallbacks
    

    您可以从这里找到更多信息ActivityLifecycleCallbacks

    还有一个对你有帮助的例子。 link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-05
      • 2015-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多