如何检查我的应用程序中是否调用了活动?
我的问题是,如果用户来自另一个应用程序并且我仍在后台,我只想更新数据。
谢谢!
答案 0 :(得分:1)
一个可能的想法是反转过程,即确定活动是否由您的应用程序启动。
假设你有一个活动A,你想要在onResume()中找到你是否从你的另一个活动回来。您应该能够使用startActivityWithResult()启动从A传出的所有其他活动,并检查onActivityResult()以获取结果。由于在onResume()之前调用onActivityResult(),因此可以在onResume()中设置要检查的布尔字段。
所以,代码是:
private static final int RANDOM_ACTION_CODE= 42;
private Button fButton;
private boolean returning= false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
fButton= (Button) findViewById(R.id.button1);
fButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent i= new Intent(this, SecondActivity.class);
startActivityForResult(i, RANDOM_ACTION_CODE);
}
@Override
protected void onResume() {
super.onResume();
Toast.makeText(this, "returning = " + returning, Toast.LENGTH_LONG).show();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RANDOM_ACTION_CODE)
returning= true;
else
returning= false;
}
答案 1 :(得分:0)
您可以使用onRestart事件吗?