Lets assume that our new Activity class name is SecondActivity.java
Opening new Activity
To open new activity following method will be used :- startActivity() or startActivityForResult()
Intent i = new Intent(getApplicationContext(), SecondActivity.class);
StartActivity(i);
|
Sending parameters to new Activity :-
To send parameter to newly created activity putExtra() methos will be used.
i.putExtra("key", "value");
i.putExtra("username", "Amardeep");
|
Receiving parameters on new Activity
To receive parameters on newly created activity getStringExtra() method will be used.
Intent i = getIntent();
i.getStringExtra("key");
String myname = i.getStringExtra("username");
|
Opening new Activity and expecting result
In some situations you might expect some data back from newly created activity. In that situationsstartActivityForResult() method is useful. And once new activity is closed you should you useonActivityResult() method to read the returned result.
Intent i = new Intent(getApplicationContext(), SecondActivity.class);
startActivityForResult(i, 100);
@Override
protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == 100){
String mywebsite = data.getExtras().get("result");
}
}
|
Sending result back to old activity when StartActivityForResult() is used
Intent i = new Intent();
i.putExtra("email", "amardeepvijay00@gmail.com");
setResult(100,in);
|
Closing Activity
To close activity call finish() method
Add entry in AndroidManifest.xml
To run our application you should enter your new activity in AndroidManifest.xml file. Add new activity between tags.
<activity android:name=".NewActivityClassName"></activity>
|