首页 > 解决方案 > 当另一个应用程序启动/启动时启动/启动 myApp

问题描述

我是安卓新手。我想知道关于..

我想开发一个应用程序,当设备中的另一个应用程序(如 gmail 或 facebook 等)启动时启动。我不知道如何开发这个应用程序。我想支持 API 21 及更高版本

对于 8.0 以下的旧版本 android,我可以使用服务并在特定应用启动时启动我的应用(如 applocker),但不允许使用更高版本的 android 服务。

以及当我的应用程序未运行(被杀死)时,我如何在 android 8.0 及更高版本中启动服务或任何替代类/组件。谢谢。

标签: androidandroid-intentapp-launcher

解决方案


使用线程启动服务并使用特定的睡眠时间(例如线程中的一秒)调用以下功能。当其他应用程序在前台运行时,这将启动您的应用程序

List<ActivityManager.RunningAppProcessInfo> runningProcesses = ((ActivityManager) getSystemService(Context.ACTIVITY_SERVICE)).getRunningAppProcesses();
for (int currentProcess = 0; currentProcess < runningProcesses.size(); currentProcess++)
{
    if (runningProcesses.get(currentProcess).importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND)
    {
        if(!runningProcesses.get(currentProcess).pkgList[0].equalsIgnoreCase("your_app"))
        {
            //start your activity
            break;
        }
    }
}

推荐阅读