首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >android应用程序的监控

android应用程序的监控
EN

Stack Overflow用户
提问于 2014-08-07 10:31:33
回答 1查看 94关注 0票数 0

日安。我是否可以使用android来获取用户正在工作的android应用程序的名称,以及这个应用程序中的会话时间。也就是说,服务将接收应用程序和会话的名称,并将其发送到数据库。

解决了。这是我的灵魂

代码语言:javascript
运行
复制
 private String getRunningAppByActivity(){
        ActivityManager am = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
        // get the info from the currently running task
        List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1);

        ComponentName componentInfo = taskInfo.get(0).topActivity;
        String name=componentInfo.getPackageName();

        final PackageManager pm = context.getPackageManager();
        ApplicationInfo ai;
        try {
            ai = pm.getApplicationInfo(name, 0);
        } catch (final PackageManager.NameNotFoundException e) {
            ai = null;
        }
        final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)");
        Log.d("APPLICATION_NAME", applicationName);
        return applicationName;
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-07 10:49:42

试试这个:

代码语言:javascript
运行
复制
     ActivityManager activityManager = (ActivityManager)            
     {context}.getSystemService(Context.ACTIVITY_SERVICE);
     List<RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE);

    final PackageManager pm = getApplicationContext().getPackageManager();

    for (RunningTaskInfo task : tasks) {

    try {
        ai = pm.getApplicationInfo(task.baseActivity.getPackageName(), 0);
       } catch (final NameNotFoundException e) {
    ai = null;
     }
      String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai): "(unknown)");

    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25180210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档