【发布时间】:2014-11-01 21:22:18
【问题描述】:
如何检查 Activity 是默认启动还是从其他 Activity 的 Intent 调用 Activity 的方法? 我认为目前我的代码非常糟糕,因为我通过 Try/Catch 处理它 它工作正常,但我想要更好的代码
public class MyScan extends Activity {
public final static String EXTRA_MESSAGE = ".MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
checkIntent();
}
public void checkIntent() {
try {
Intent i = getIntent();
String method_name = i.getStringExtra("method_name");// is firing an error if there is no intent call
if (method_name.equals("scanBarcode")) {
scanBarcode2();// That starts my method
}
} catch (Exception e) {
setContentView(R.layout.activity_my_scan); // that shows just my Content
}
}
....
感谢您的提示 Alex Terreaux
我是这样改代码的
public void checkIntent() {
Intent i = getIntent();
if (i != null) {
String method_name = i.getStringExtra("method_name");
if (method_name != null && method_name.equals("scanBarcode")) {
scanBarcode2();
} else {
setContentView(R.layout.activity_my_scan);
}
}
}
这行得通。
【问题讨论】:
标签: android android-intent methods