Intent with Result Data:
This means receiving some result from destination axctivity to source activity.
The steps are as follows:
In source activity:
1) Create the Intent in Source Activity.
2) Put the extras in Intent. This step is optional. We put only if we have a requirement.
3) call startActivityForResult(intent, requestCode). Here, request code can be any integer value. This will help us in differentiating among multiple results. Ex: Intent i = new Intent(source activity. this, destination activity.class); i.putExtra(“number1”, 123); i.putExtra(“number2”, 456); startActivityForResult(i, 2222);
In destination activity: The steps to perform in-destination activity is as follows
1) Receive the data from source activity and process. This is optional. We will do this only if we receive some data from source activity process.
2) For sending result back, we need to create an empty intent and place the data in that intent using putExtra(key, value) method
3) Call setResult(resultCode, intent) method. Here result code represents some integer value and often it is RESULT_OK constant. The intent is the one we have created in 2nd step.
4) Close the destination activity by calling finish() method in order to return the result to source activity.
Ex: Intent i = new Intent(); i.putExtra(“result”, 579); setResult(RESULT_OK, i); finish();
Note: Make sure that source activity is running in this whole process.
Getting result back in source activity:
Once destination activity returns some result, we have onActivityResult(requestCode, resultCode, Intent) method called in source activity. In that method, we get our data in Intent object as 3rd parameter. We will process the same data as follows. Ex: @Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { Bundle result = data.getExtras(); int result1 = result.getInt(“key”);
Toast.makeText(this, result1 + “”, Toast.LENGTH_LONG).show(); }
Create an android application which represents the concept of Intent with result data.
Source can be found in the common link
HW: Create an android application with one ImageView and one Button, on clicking the button, open camera, and capture image. Once the image is captured, show the same image in ImageView.