【问题标题】:Is there a way to identify the Apps names?有没有办法识别应用程序名称?
【发布时间】:2021-09-11 01:25:52
【问题描述】:

我正在开发一项在第三方应用程序表单上具有自动填充功能的服务。现在我需要知道是否有办法识别第三方应用名称。

这样做的原因是我有一个有效的网络扩展程序,它已经有要填写的表单信息,所以现在我想在用户打开相同的公司应用程序时也填写这些数据,例如用户打开 Facebook 或Messanger 以及当它显示表单时,我的服务将检查该用户是否已经为 Facebook 存储了任何数据,或者数据何时来自应用程序,以及用户是否让我将其保存以供以后在其他设备和平台上使用。

有可能吗?我看到好像过度服务或填充服务只是泛化了,我不确定是否可以根据获取数据的应用程序按应用程序名称分组。

【问题讨论】:

    标签: java android autofill


    【解决方案1】:

    据我了解您的查询,您有 x 个应用程序的列表,并检查其中哪些 x 个应用程序正在用户的设备上运行。

    您无法在 Android 中检测到应用启动。 但是,您可以使用ActivityManager 类获取当前打开的应用列表,如下所示:

    ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningAppProcessInfo> runningAppProcessesList = activityManager.getRunningAppProcesses();
    
    

    然后检查您要查找的应用是否在列表中。

    int size = runningAppProcessesList.size();
    for (int i = 0; i < size; i++) 
    {
        ActivityManager.RunningAppProcessInfo processInfo = runningAppProcessesList.get(i);
     
        if(processInfo.processName.equals(APPNAME)) {
           //user has this app
        }
    }
    

    希望这会有所帮助!

    【讨论】:

    • 谢谢,但我的意思是能够识别前台应用程序。让我继续上面的 Facebook 示例。假设用户一直在使用我的扩展程序在计算机网络浏览器上登录他/她的 Facebook 帐户,现在用户刚刚获得一部新手机并安装了 Facebook,但尚未登录,因为用户没有想要输入信息,但希望我的自动填充服务自动填充它。现在的问题是如何确定打开并具有登录表单的应用程序是 Facebook?
    【解决方案2】:

    上面的代码 sn-p 将适用于后台应用程序。 要检查应用程序是否在前台运行,请使用以下代码:

    public static boolean isForeground(Context context, String myPackage){
        ActivityManager manager = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);
        List< ActivityManager.RunningTaskInfo > runningTaskInfo = manager.getRunningTasks(1); 
    
        ComponentName componentInfo = runningTaskInfo.get(0).topActivity;
        if(componentInfo.getPackageName().equals(myPackage)) {
            return true;
        }       
        return false;
    }
    

    您只需要知道所需应用的包名即可。 既然你想知道表格的自动填写,你可以使用Autofill Service in Android

    【讨论】:

      猜你喜欢
      • 2012-04-17
      • 2020-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 2013-03-21
      • 2018-12-27
      • 2017-10-25
      相关资源
      最近更新 更多