我正在创建一个活动,我希望在intent bundle中需要特定的额外内容。
我想知道最佳做法是什么。如果捆绑包不包含特定额外费用,则计划不会启动或立即完成活动。我还想通过错误通知来电者。
答案 0 :(得分:2)
如果捆绑包不包含特定的附加内容,则计划不会启动或立即完成活动。
在onCreate()
中验证额外内容,如果附加内容丢失/无效,请致电finish()
。
我还想通知错误,告诉来电者。
您可以将某些内容记录到LogCat。但是,您无法向调用startActivity()
。
您可以考虑在以下活动中创建某种形式的static
辅助方法:
只需按照您想要的方式组装Intent
,或
startActivity()
,也会继续拨打Context
并鼓励您的开发团队使用该方法(用高尔夫球杆贿赂他们,用高尔夫球杆威胁他们等)。例如,在MyActivity
上,有:
public static void start(Context ctxt, YourEnum value) {
Intent i=new Intent(ctxt, MyActivity.this).putExtra(EXTRA_THINGY, value);
ctxt.startActivity(i);
}
您的团队成员可以致电MyActivity.start(this, MyEnum.AWESOME);
开始您的活动。但是,您不能强制他们以编程方式执行此操作(例如,如果他们自己创建Intent
,则无法强制编译错误。)
请注意,高尔夫球杆是一个例子,而不是最佳做法 - 例如,根据您的烘焙技巧,您可以用饼干贿赂/威胁他们