8

我有一个在后台运行的服务来监视前台活动。目前这不区分用户(多用户帐户Android 4.2)。有没有一种方法可以让服务将运行它的用户与前台活动的用户进行比较?我只对运行该服务的同一用户帐户的活动感兴趣。

我知道我可以使用:

android.os.Process.myUserHandle()

获取运行服务的 UserHandle。但是我在文档中看不到任何可以为我提供正在运行的活动的用户句柄(ActivityManager.RunningAppProcessInfo 等)的内容。

有任何想法吗?

4

2 回答 2

6

活动始终以用户返回的身份运行android.os.Process.myUserHandle()

于 2016-01-13T21:42:21.437 回答
3

从服务内部,您可以使用android.os.Binder.getCallingUid()获取uid包含调用服务的 Activity 的进程的完整内核。运行此结果android.os.Process.getUserId()以获取两位数的 Android 用户句柄并将其与android.os.Process.myUserHandle().

于 2014-07-24T15:06:49.887 回答