使用startActivityForResult方法進行數(shù)據(jù)傳遞。
MainActivity.java:
1 public class MainActivity extends
Activity {
2Buttonbtn;
3@Override
4protected void onCreate(Bundle savedInstanceState) {
5super.onCreate(savedInstanceState);
6setContentView(R.layout.activity_main);
7Button btn=(Button)findViewById(R.id.button1);
8btn.setOnClickListener(new OnClickListener(){
9@Override
10public void onClick(View arg0) {
11Intent intent=newIntent(MainActivity.this,OtherActivity.class);
12startActivityForResult(intent,1);
13}
14});
15
16
17}
18protected void onActivityResult(int requestCode,int resultCode,Intentdata){
19switch(requestCode){
20case 1:
21String result=data.getExtras().getString("result");
22}
23}
24
25 }
OtherActivity.java:
1 public class OtherActivity extends
Activity {
2Button btn2;
3/**
4*@param args
5*/
6protected void onCreate(Bundle savedInstanceState) {
7super.onCreate(savedInstanceState);
8setContentView(R.layout.activity_other);
9Button btn2=(Button)findViewById(R.id.button2);
10btn2.setOnClickListener(new OnClickListener(){
11
12@Override
13public void onClick(View arg0) {
14// TODO Auto-generatedmethod stub
15Intent intent=new Intent();
16intent.putExtra("result", "hello world");
17OtherActivity.this.setResult(resultcode, intent);
18OtherActivity.this.finish();
19}});
20}
21 }
注:
1.請求碼requestCode:startActivityForResult(intent,requestCode)和onActivityResult(int
requestCode,int resultCode,Intent data)中的requestCode為請求碼,它的作用是用于標識請求來源。例如:一個Activity有兩個按鈕,點擊這兩個按鈕都會打開同一個Activity,不管是那個按鈕打開新Activity,當這個新Activity關(guān)閉后,系統(tǒng)都會調(diào)用前面Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法。在onActivityResult()方法如果需要知道新Activity是由那個按鈕打開的,并且要做出相應(yīng)的業(yè)務(wù)處理。
2.結(jié)果碼resultCode:在一個Activity中,可能會使用startActivityForResult()方法打開多個不同的Activity處理不同的業(yè)務(wù),當這些新Activity關(guān)閉后,系統(tǒng)都會調(diào)用前面Activi
ty的onActivityResult(int requestCode, int resultCode, Intent data)方法。為了知道返回的數(shù)據(jù)來自于哪個新Activity,在onActivityResult()方法中可以這樣做(Result Activity和NewActivity為要打開的新Activity)。
PS:對于APP安全檢測一般我都會用:www.ineice.com