The component to be invoked from an activity, the Android Explicit intent is used. Thus, the explicit intent can be used to call another activity in android. The explicit intent is used to pass the information from one activity to another.
Example:
In the below example, we are demonstrating the usage of the android to call one activity from another and vice versa.
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <!-- add a button to move to next activity --> <Button android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/TextView01" android:layout_marginTop="209dp" android:onClick="onClick" android:text="Visit Second Activity" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" tools:ignore="OnClick" /> <!-- add a TextView to write some text on activity --> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/Button01" android:layout_alignParentTop="true" android:layout_marginTop="44dp" android:minHeight="60dip" android:text="I am First Activity" android:textSize="20sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout> |
Activity class:(File: MainActivity.java)
package com.example.radioapp; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { // Defining the object for button Button button1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Bind the components to their respective objects // by assigning their IDs // with the help of findViewById() method button1 = (Button)findViewById(R.id.Button01); button1.setOnClickListener(new OnClickListener() { public void onClick(View view) { // Creating explicit intent Intent i = new Intent(getApplicationContext(), SecondActivity.class); startActivity(i); } }); } } |
Activity_second.xml:(File: activity_second.xml)
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".SecondActivity"> <!-- add a button for moving to home activity --> <Button android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/TextView01" android:layout_alignParentLeft="true" android:layout_marginBottom="220dp" android:onClick="onClick" android:text="Visit Home Activity" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.533" app:layout_constraintStart_toStartOf="parent" tools:ignore="OnClick" /> <!-- add a TextView to write some text on activity --> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/Button01" android:layout_alignParentTop="true" android:layout_margin="71dp" android:layout_marginTop="144dp" android:layout_marginEnd="88dp" android:layout_marginRight="88dp" android:minHeight="60dip" android:text="I am Second Activity" android:textSize="20sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout> |
SecondActivity class: (File: SecondActivity.java)
package com.example.radioapp; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class SecondActivity extends Activity { // Defining the object for button Button button1; @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(R.layout.activity_second); // Bind the components to their respective objects // by assigning their IDs // with the help of findViewById() method button1 = (Button)findViewById(R.id.Button01); button1.setOnClickListener(new OnClickListener() { public void onClick(View view) { // Creating explicit intent Intent i = new Intent(getApplicationContext(), MainActivity.class); startActivity(i); } }); }} |
AndroidManifest: (File:AndroidManifest.xml)
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.radioapp"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SecondActivity" > <!--Default Intent Filter--> <intent-filter> <action android:name="android.intent.action.DEFAULT" /> </intent-filter> </activity> </application> </manifest> |
Output 1:
Output 2: