Context.startServiceAsUser()在哪里?

3

亲爱的所有Android专家,

目前,我获取了一个开源的Android项目(wso2代理),需要使用Context类中的API startServiceAsUser()。然而,Android Studio无法识别此API。我该如何解决这个错误?

1个回答

5

从Android SDK的角度来看,你无法调用那个API,因为它不是公共API。它属于框架内部API。通常,应用程序不应使用这些API,这就是为什么它们被隐藏的原因。

如果您想要调用它,需要使用反射。但在这样做之前,请真正评估您是否绝对需要使用startServiceAsUser(),因为大多数应用程序是以用户为中心的,而不是单一的,而后者则需要该函数。


请注意,不仅可以使用反射 API - 您还可以将 Android SDK 中的 android.jar 替换为包括那些隐藏 API 的文件。WSO2 维护者决定使用此方法,请参见我的回复:http://stackoverflow.com/a/41004248/1028256 - Mixaz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接