需要额外传递给 activity
Require an extra to be passed to activity
我正在创建一个 activity,我希望在 intent bundle 中需要一个特定的附加项。
我想知道最佳做法是什么。计划是不开始,或者如果捆绑包不包含特定的额外内容,则立即完成 activity。我还想通知来电者这样的错误。
The plan is to not start, or immediately finish the activity if the bundle does not include a specific extra.
验证onCreate()
中的extra,如果extra是missing/invalid,则调用finish()
。
I'd also like to notify the caller with an error stating such.
您可以将某些内容记录到 LogCat。但是,您无法对调用 startActivity()
.
的代码抛出异常
您可以考虑在 activity 上创建某种形式的 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);
开始您的 activity。但是,您不能强制他们以编程方式执行此操作(例如,如果他们自己创建Intent
,您不能强制出现编译时错误)。
请注意,高尔夫球杆只是一个示例,而不是最佳做法 — 例如,根据您的烘焙技巧,您可以 bribe/threaten 用饼干
我正在创建一个 activity,我希望在 intent bundle 中需要一个特定的附加项。
我想知道最佳做法是什么。计划是不开始,或者如果捆绑包不包含特定的额外内容,则立即完成 activity。我还想通知来电者这样的错误。
The plan is to not start, or immediately finish the activity if the bundle does not include a specific extra.
验证onCreate()
中的extra,如果extra是missing/invalid,则调用finish()
。
I'd also like to notify the caller with an error stating such.
您可以将某些内容记录到 LogCat。但是,您无法对调用 startActivity()
.
您可以考虑在 activity 上创建某种形式的 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);
开始您的 activity。但是,您不能强制他们以编程方式执行此操作(例如,如果他们自己创建Intent
,您不能强制出现编译时错误)。
请注意,高尔夫球杆只是一个示例,而不是最佳做法 — 例如,根据您的烘焙技巧,您可以 bribe/threaten 用饼干