【发布时间】:2017-05-27 07:16:49
【问题描述】:
我有一个页面产品,你超时按下一个按钮就会通过意图发送一个不同的 id。如果我们没有登录,这个页面上有一个购买按钮,它将带我们进入登录页面,所以在我登录后如何我使用传递给此意图的相同 id 返回此页面。
【问题讨论】:
标签: android android-activity activity-stack
我有一个页面产品,你超时按下一个按钮就会通过意图发送一个不同的 id。如果我们没有登录,这个页面上有一个购买按钮,它将带我们进入登录页面,所以在我登录后如何我使用传递给此意图的相同 id 返回此页面。
【问题讨论】:
标签: android android-activity activity-stack
使用startActivityForResult()方法启动登录活动。
当您在登录活动中完成工作后,请致电 setResult(RESULT_OK) 并致电 finish() 以完成该活动。
您将返回之前的活动。如果你想做某事,你必须重写 onActivityResult() 方法。
【讨论】:
假设如果你点击了Button点击事件
Button button=new Button(getApplicationContext());
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent=new Intent(getApplicationContext(),LoginActivity.class);
intent.putExtra("yourid","123");
intent.putExtra("goingtologin","true");
startActivity(intent);
}
});
if(getIntent().getStringExtra("yourid")!=null)
{
String id=getIntent().getStringExtra("yourid");
}
//in your login activity
String iscomingfromlogin="";
String id="";
if(getIntent().getStringExtra("goingtologin")!=null)
{
iscomingfromlogin=getIntent().getStringExtra("goingtologin");
}
id=getIntent().getStringExtra("yourid");
// after login successfully check
if(iscomingfromlogin.equals("true"))
{
Intent intent=new Intent(getApplicationContext(),YOURPREVIOUSACTIVITY.class);
intent.putExtra("yourid",id);
startActivity(intent);
finish();
}
【讨论】: