【问题标题】:How I should know that the app is in not running?我怎么知道应用程序没有运行?
【发布时间】:2021-11-08 10:30:13
【问题描述】:

我有一个 android 应用程序,当用户与应用程序交互时,它一直在启动屏幕之后开始播放音乐,使用 MediaPlayer 的单例类,它运行良好,但我想在以下情况下停止音乐应用程序退出或用户切换到另一个应用程序,不幸的是它不能正常工作,我必须从最近的任务中终止应用程序以停止音乐

【问题讨论】:

    标签: java android android-mediaplayer


    【解决方案1】:

    如果您在用户运行应用程序时有多个活动,请使用LifecycleObserver 观察应用程序类中的状态变化。

    implementation "androidx.lifecycle:lifecycle-extensions:2.4.0"
    

    应用类

    public class MyApplication extends Application implements LifecycleObserver {
    
    @Override
    public void onCreate() {
        super.onCreate();
    
        ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
    }
    
    // Application level lifecycle events
    
    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    public void onEnteredForeground() {
        //Log.d(TAG,"Application did enter foreground");
    }
    
    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    public void onEnteredBackground() {
       // Log.d(TAG,"Application did enter background");
    }
    
    }
    

    欲了解更多信息,请参阅 - Handling lifecycle with Lifecycle Observers

    【讨论】:

      【解决方案2】:

      使用 onPause() 然后让它停止播放音乐,然后 onResume 或 onStart 播放音乐,如果用户回到应用程序

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-24
        • 2019-04-08
        相关资源
        最近更新 更多