文章是我直接从别处粘过来的。

作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!

转载请保留原文地址:http://blog.csdn.net/ouyang_peng

今天写一个调节系统背光亮度的时候,参考了Android中的Setting源码,在源码中有这么一段代码:

 private static final int MAXIMUM_BACKLIGHT = android.os.PowerManager.BRIGHTNESS_ON;

然后我模仿它的代码,来进行编写我的应用,但是当我copy这段代码后报错

报错内容如下:

BRIGHTNESS_ON cannot be resolved or is not a field

然后我去察看源代码,发现定义如下:

    /*** Brightness value for fully on.* @hide*/public static final int BRIGHTNESS_ON = 255;

明显声明为public,怎么可能会访问不到呢?再细看注释,发现里面有“@hide”这个标志。后来百度一下才认识到,类或API是否开放,是通过doc的注释{@hide}来控制的。这表示不对外公开api,但是系统内部是可以使用该注释标记的接口的。

google 给了两个选择:1. 在你添加的API或者变量前面,增加javadoc 注释@hide。但是要注意的是,并不是简单写个@hide 或者 /*@hide*/ 就可以了,这些都是错误的javadoc注释格式,标准的javadoc都是这样的 /** */ 而且对于 format 变量 应该加上 { }。所以我们应该这样写 /** {@hide} */ 2. 你就是想要生成的javadoc里面出现这个方法或者变量,你必须输入:make update-api 但是如果修改的是google没有开放出来的类,比如RIL,PhoneFactory,就不会出现这个问题。

如何解决这个报错的问题呢,问了一下公司的前辈,前辈是这么解释的,加入了 /** {@hide} */ 注视后的类或者API是google编译时不对外开放的,但是运行的时候这写类和API都是可以访问的。为了在Eclipse中不报错的话,可以准备以下几步就可以不报错了。

1,准备好编译后的Android源码。
2,在该源码的out目录下寻找包含你所用隐藏类的jar文件,通常文件名为classes.jar。例如framework的jar文件为out argetcommonobjJAVA_LIBRARIES ramework_intermediatesclasses.jar。

3,在eclipse的Android项目中,选择项目属性->Java Build Path->Libraries->Add Library->User Library->Next-> UserLibraries进入到User Libraries管理界面,点击New新建一个User Library,比如android_framework,点击Add Jars把Jar包加入到建立的User Library中,最后点击OK就可以了。

@hide无法访问的解决方法相关推荐

  1. win 10升级后不能访问服务器文件夹,Win10打开某些文件夹出现“无法访问”的解决方法...

    win10电脑自动更新后访问某一些文件夹时出现提示"无法访问拒绝访问",导致文件夹打开失败,让大家感到很烦恼,怎么办?这一般是由于权限设置不当造成的,接下来,下面详细讲述一下遇到这 ...

  2. “另一个程序正在使用此文件,进程无法访问”的解决方法

    "另一个程序正在使用此文件,进程无法访问"的解决方法 参考文章: (1)"另一个程序正在使用此文件,进程无法访问"的解决方法 (2)https://www.cn ...

  3. Win2003和Win2008防火墙导致FTP服务器不能访问的解决方法

    这篇文章主要介绍了Win2003和Win2008防火墙导致FTP服务器不能访问的解决方法,需要的朋友可以参考下 由于通过远程访问传文件比较麻烦,就安装了IIS自带的FTP功能,设置好了之后,服务器上可 ...

  4. xp 无法用计算机名访问,WinXP工作组计算机无法访问的解决方法

    在局域网中,查看工作组计算机时说无法访问,没有权限使用网络资源.还在使用WinXP系统的用户,双击"查看工作组计算机"时,提示"Workgroup无法访问."遇 ...

  5. iis html 空白页,IIS伪静态html静态页无法访问的解决方法

    通常都会遇到IIS开启伪静态后,发现原本存在的html静态页面无法访问了,显示的404错误或者文件路径不存在.是因为实现伪静态就是使用 URLRewriter 来映射后缀,会把asp等动态页面映射成h ...

  6. 本地计算机无法设置共享文件夹,win10系统下共享文件夹无法访问的解决方法

    最近有不少win10系统用户到本站反馈说碰到这样一个问题,就是要访问共享文件夹的时候发现无法访问,该怎么办呢,本文就给大家讲解一下win10系统下共享文件夹无法访问的解决方法供大家参考. 1.检查共享 ...

  7. 豆瓣API 不能访问的解决方法

    豆瓣API 不能访问的解决方法 在参数中添加apikey:apikey=0b2bdeda43b5688921839c8ecb20399b 例如 访问 https://api.douban.com/v2 ...

  8. 局域网内的计算机拒绝访问,win10系统局域网拒绝访问的解决方法

    win10系统局域网拒绝访问的解决方法? 我们在操作win10系统电脑的时候,常常会遇到win10系统局域网拒绝访问的问题.那么出现win10系统局域网拒绝访问的问题该怎么解决呢?很多对电脑不太熟悉的 ...

  9. 远程关闭计算机提示拒绝访问权限,shutdown远程关机win10系统拒绝访问最佳解决方法...

    win10系统功能强大,能够实现很多让用户看起来很不可思议的操作,其中就包括通过shutdown命令进行win10系统的远程使用,但是近日有用户想要通过shutdown进行远程关机win10系统时却被 ...

最新文章

  1. iOS 开发经验总结
  2. java下拉框选择_java中下拉框选项内容
  3. win10电脑插耳机没声音_Win10如何录制电脑内部播放的声音
  4. HTML的五种经典布局方式(二)
  5. Day14作业 一、完成下面的要求? 先创建一个工人类,属性:姓名,年龄,工资
  6. 分段二次插值例题_分段三次插值
  7. c语言程序执行完main函数后,一个c程序在执行main函数之前和main之后都做了那些事情啊该如何解决...
  8. STM32“隐藏的定时器”-DWT
  9. 给Nodejs回调加超时限制
  10. 神经网络隐藏层个数怎么确定_含有一个隐藏层的神经网络对平面数据分类python实现(吴恩达深度学习课程1第3周作业)...
  11. 如何使用 Mac 在 iPhone 上录制 FaceTime 通话?
  12. html 中 float 的一些研究
  13. 推荐几款绿色无广告良心软件
  14. imageJ下载链接
  15. sql server 2000 打了sp4补丁包仍不能监听1433端口问题的解决
  16. 深度学习语音降噪方法对比_一种融合骨振动传感器和麦克风信号的深度学习语音提取和降噪方法与流程...
  17. C#简单游戏外挂制作(以Warcraft Ⅲ为例)
  18. mysql alert on delete cascade_mysql-我的“ ON DELETE CASCADE”不起作用
  19. simi.city forum.php,simicitybuildit欧米伽建筑代号什么意思
  20. 360修改注册表.html,求360急速浏览器更改主页的批处理或者注册表!

热门文章

  1. React jsPdf+html2canvas 前端生成pdf(分页截断 + 图片质量)
  2. jquery数组拼接
  3. MDT设置--Custom Settings.ini 和 bootstrap.ini 配置
  4. 安全测试工作规范文档,希望能帮到大家
  5. 招聘网址大全!中英文简历模板!
  6. 神经网络的三种训练方法,神经网络训练全过程
  7. 关于BufferedReader.readLine()
  8. java课后习题七解析_《Java基础入门》_课后习题解析.doc
  9. 产品经理如何发现大多数“沉默”用户的需求
  10. fetch的用法ajax,Promise发送Ajax请求、fetch用法