怎么让自己的接口在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要更加好。
...全文
189 点赞 收藏 5
写回复
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的源码中是怎么写的啊
回复 点赞
发动态
发帖子
Android
创建于2009-10-09

4.6w+

社区成员

9.0w+

社区内容

移动平台 Android
社区公告
暂无公告