正如我在Android sources中看到的,这里有注册我自己的自定义函数的方法。但是当我尝试调用addCustomFunction()时,我收到错误“无法解析方法”。我也在official documentaion找不到它。为什么这种方法不可用?
答案 0 :(得分:1)
为什么这种方法不可用?
因为它标有@hide
注释。您在标有@hide
的Android源代码中看到的任何类和方法都不属于Android SDK。它们不会出现在JavaDocs中,并且它们不是我们在构建项目时编译的android.jar
的一部分。
一般情况下,使用@hide
标记某些内容有很多可能的原因,包括:
一点点“默默无闻的安全”。
这个课程或方法在编写时被认为是“飞行中”,而不是谷歌准备说它将支持所有未来的Android版本。
该类或方法实际上是private
或包私有,但由于Android代码的组织方式,类或方法必须public
允许正确的其他东西来访问它。在这种情况下,@hide
意味着“真的,这是内部实现,但它是public
,因为Java让我这样做”。
但是,一般情况下,我们没有被告知为什么类或方法标有@hide
,因此我无法告诉您在这种情况下使用的确切原理。