Intent 启动 Activity

1.启动另一个Activity (仅单方向传递数据,不能回传数据)
a. Send.java文件发送附加信息;
Intent intent = new Intent(Send.this,Receive.class);  // 实例化 Intent 
intent.putExtra("info","添加附加信息进行测试结果");   //  附加信息 
Send.this.startActivity(intent);    // 启动Activity

b.Receive.java文件接收附加信息;
Intent cintent = super.getIntent();     //取得启动此程序的Intent
        String infodata = cintent.getStringExtra("info");  // 获取附加信息

c.修改AndroidMainfest.xml 文件添加新的Activity;
<activity
            android:name="Receive"
            android:label="@string/receive_name" />

2.启动另外的一个Activity并将数据回传回来;
a. Send.java文件发送附加信息;
Intent intent = new Intent(Send.this,Receive.class);  // 实例化 Intent 
intent.putExtra("info","添加附加信息进行测试结果");   //  附加信息 
Send.this.startActivityEorResult(intent,1);    // 启动Activity  ( 1 :d代表可以传递,只要大于0就可以调用onActivityResult()函数)

//重写该方法
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (resultCode) {
case RESULT_OK :  //操作正常状态码
data.getStringExtra("retmsg");  // 获取Receive.java 回传信息
break;
case RESULT_FIRST_USER:  // 用户自定义状态码
break;
case RESULT_CANCELED:  //操作取消状态码
break;
default:
break;
}
        }
b.Receive.java文件接收附加信息和回传数据
Intent cintent = super.getIntent();     //取得启动此程序的Intent
        String infodata = cintent.getStringExtra("info");  // 获取附加信息

Receive.this.getIntent().putExtra("retmsg","回传数据到Send.java 中去");  // 返回信息
// 设置回传的状态码RESULT_OK , 不需和Send.java 中的 onActivityResult()中的判断方面的状态码一直。
Receive.this.setResult(RESULT_OK,Receive.this.getIntent());   // 设置回传状态码
Receive.this.finish()  // 结束当前Intent



猜你喜欢

转载自blog.csdn.net/dylan_524217139/article/details/48341113