java - 下拉通知面板时是否可以暂停Android中的任何视频(媒体播放器)应用程序?

标签 java android kotlin android-developer-api

假设我有AOSP源代码,下拉通知面板时如何在前台暂停APP? google了一下发现有APP可以监听事件onWindowFocusChange并主动采取一些行动,但我该如何暂停任何 APP下拉通知面板时,不分别修改每个APP(不切实际)?

有没有办法可以调用onPause SystemUI进程中任何前台应用程序的功能?

最佳答案

您可以使用以下方法来检测通知面板拉动,

在您的 list 文件中

 <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />

在您的 Activity 中覆盖 onWindowFocusChanged()并编写以下代码。

这使用权限
@Override
public void onWindowFocusChanged(boolean hasFocus)
{
    try
    {
        if(!hasFocus)
        {
            Object service  = getSystemService("statusbar");
            Class<?> statusbarManager = Class.forName("android.app.StatusBarManager");
            Method collapse = statusbarManager.getMethod("collapse");
            collapse .setAccessible(true);
            collapse .invoke(service);
        }
    }
    catch(Exception ex)
    {
        if(!hasFocus)
        {
            try {
                Object service  = getSystemService("statusbar");
                Class<?> statusbarManager = Class.forName("android.app.StatusBarManager");
                Method collapse = statusbarManager.getMethod("collapse");
                collapse .setAccessible(true);
                collapse .invoke(service);

            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();                
            }
            ex.printStackTrace();
        }
    }
}

然后在您的应用程序请求音频焦点中,请参阅以下链接

https://developer.android.com/guide/topics/media-apps/audio-focus#java

这将暂停所有其他应用程序的音频访问。

关于java - 下拉通知面板时是否可以暂停Android中的任何视频(媒体播放器)应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59524839/

相关文章:

android - cocos2dx无法实现暂停功能

variables - 使用 PropertyChangeSupport 获取变量更改通知(例如可观察、委托(delegate))

kotlin - Gradle 单引号与双引号

java - hibernate Cascade 中的多对一 ="none"

java - 排除 pom.xml 中为 jacoco 配置的内容并排除 sonar 中的文件

java - 更改选定状态下的按钮形状?

android - 处理多个 Intent 调用

inheritance - Kotlin - 委托(delegate)而不是单例中的继承

java - 在 Spring 中配置系统属性

java - 从正在运行的服务更新 Activity UI