梳理uid、userid及UserHandle概念

梳理uid、userid及UserHandle概念

彭从冬 2025-06-21 硬件 3 次浏览 0个评论

1、通过源码可以看到,UserHandle包含三种概念useriduidappid userid 就是有多少个实际的用户,即手机里的主机访客等多用户 uid 上文讲过他跟应用进程相关,除了shareduid的应用,每个用户的每个应用的uid不一样的 appid 跟app相关,包名相同的appid都一样,即使是不同用户。

2、在main方法的执行过程中,会调用run方法,run方法中进一步调用onRun,最后在runForceStop方法中实现终止包名对应进程的具体逻辑值得注意的是,当未指定userId时,系统将默认使用UserHandleUSER_ALL,即处理所有用户空间下的包名在力推stop命令的执行过程中,进程控制中心ActivityManager通过A。

3、if userId == UserHandleUSER_ALL callingUid == ProcessSHELL_UID else 向AMS查询符合条件的receiver registeredReceivers = mReceiverResolverqueryIntentintent, resolvedType, false, userId final boolean replacePending = intentgetFlags。

梳理uid、userid及UserHandle概念

4、UserHandlegetUserIdBindergetCallingUid, processName,r == null ? 1 ,crashInfoexceptionClassName,crashInfoexceptionMessage,crashInfothrowFileName,crashInfothrowLineNumberaddErrorToDropBoxquotcrashquot, r, processName, null, null, null, null, null, crashInfo。

梳理uid、userid及UserHandle概念

5、拿到AndroidManifestxml 中的sharedUserId, 一般情况下有“”等信息 String str = sagetNonConfigurationString , 0while type = parsernext != XmlPullParserEND_DOCUMENT type != XmlPullParserEND_TAG。

转载请注明来自夕逆IT,本文标题:《梳理uid、userid及UserHandle概念》

每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,3人围观)参与讨论

还没有评论,来说两句吧...