Android:android 编译时验证是否通过了 Intent Extras

eka*_*atz 5 android annotations compiler-errors android-intent

我想知道是否有人曾经创建过某种系统可以检查编译时是否传递了意图附加项?我传递额外内容是为了开始另一个活动,它告诉另一个活动如何表现

(例如:

Intent i = new Intent(CurrentActivity.this, OtherActivity.class);
i.putExtra("ShowOverlay", false);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)

)

问题是我不希望未来几代的开发人员在没有发送这个意图的情况下开始这个活动,因为没有定义的默认行为,

我认为使用某种注释可以做到这一点,但可能很困难,因为在编译时跟踪意图对象可能是一项不可能完成的任务。只是想知道是否有人想过这一点,这在理论上是否可行。

mgv*_*mgv 2

我认为没有任何工具可以完成你想要的事情。即使它确实存在,您也应该进行防御性编程。

如果您的活动需要一些信息来发挥其魔力,只需验证您是否收到了正确的信息即可。提供有关错误消息的信息并提供描述性 javadoc。

此外,也许您希望该活动响应隐式意图,并且您仍然应该受到保护,免受故障影响。