Intent启动活动以及Intent传递数据&activity的生命周期
1.Intent启动活动
- 显示启动
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
使用隐式Intent
在配置文件中指定字符串action和category等信息。
//可以启动到匹配该字符串的activity
Intent intent = new Intent("com.example.activitytest.MY_CATEGORY");
startActivity(intent);
- startActivityForResult用法详解
在实现登录功能时,我们在“我的订单的页面”点击登录,跳转到“登录”页面。等到“登录”页面finish()后,跳回订单页面调用onActivityResult(),在方法内处理上一个activity返回的信息。
如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity 关闭后会向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法。
package com.ljq.activitys;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private final static String TAG="MainActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnOpen=(Button)this.findViewById(R.id.btnOpen);
btnOpen.setOnClickListener(