通过意图打开Activity时是否可以触发方法。
我在文章中找到onNewIntent()
,但不知道它是如何工作的。
例如,如果我有方法loadData()
。在loadData
方法中,我将收到一个Intent并获得一个额外的数组。
public void loadData(){
Bundle bundle = getIntent().getExtras();
contactsList = (ArrayList<Contact>)bundle.getSerializable("array");
}
但是我只希望调用loadData(),除非它是故意打开的,否则会引发错误。
本文How to call a method using intent与我想要的类似,因为getIntent
似乎被称为oncreate
。我不知道这是否行得通。
谢谢您的任何帮助。
答案 0 :(得分:3)
检查意图是否具有值或null。如果其具有值,则调用您的方法
if(getIntent().getExtras() != null)
{
loadData()
}
答案 1 :(得分:0)
您可以将参数发送到“活动”,并检查该参数是否存在以触发该方法。这符合您的需求吗?
Intent intent = new Intent(this, OtherActivity.class);
intent.putExtra("loadData", true);
在新活动中,检查该值:
Boolean loadData = getIntent().getExtras().getBoolean("loadData");
if(loadData) {...}