怎么让自己的接口在SDK Version不满足的情况下出来类似这样的提示?

「已注销」 2015-12-25 04:15:03
就是当我们在Eclipse里写代码的时候,若某个方法/变量是在较新的SDK里增加的,那么如果我在manifest.xml里指定的minSdk比它还要小的时候,就会出来类似这样的警告:
Field requires API level 11 (current min is 9) ...
5 quick fixs available:
Add @SuppressLint 'NewApi' to .....
Add @TargetApi(HONEYCOMB) to ....
....
现在我写了个lib给人引用,其中有个方法A,里面使用到了较新sdk里的api。那么当我的lib被别人的工程引用的时候,如果它指定的minSdk比这个api需求的要小,运行就会出错。所以有没有办法像官方sdk那样,给我的方法A也添加类似的错误提示呢?当然可以在方法注释里写明,但我觉得官方sdk这样强制你必须添加SuppressLint要更加好。
...全文
246 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jklwan 2015-12-26
  • 打赏
  • 举报
回复
官方的这个是隐藏的,只有源码中有,就是 @hide Pending API council approval.之类的。你可以在方法的注释中加上提示,或者让传入sdk的版本,根据版本调用不同的方法。
「已注销」 2015-12-26
  • 打赏
  • 举报
回复
引用 2 楼 woshiyyshow 的回复:
那就在你的lib里面再写一个低版本的调用方法, 不就不会报错了=.=
这样接口不友好啊,等于两个接口了。 P.S. 我已经想到办法了,抛异常出去,在异常里可以把详细的发生错误的sdk api以及所需的sdk version告诉调用者。
「已注销」 2015-12-26
  • 打赏
  • 举报
回复
引用 1 楼 abc512427549 的回复:
那你就看看官方sdk的源码中是怎么写的啊
我有看源码,里面没有任何额外字段啊。
柒加伊 2015-12-25
  • 打赏
  • 举报
回复
那就在你的lib里面再写一个低版本的调用方法, 不就不会报错了=.=
杰哥哥啊 2015-12-25
  • 打赏
  • 举报
回复
那你就看看官方sdk的源码中是怎么写的啊

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧