Intent के प्रकारों में जाने से पहले, हमें पता होना चाहिए कि Intent क्या है? इंटेंट एक एक्शन करने के लिए होता है। इसका उपयोग ज्यादातर एक्टिविटी शुरू करने, ब्रॉडकास्ट रिसीवर भेजने, सेवाएं शुरू करने और दो एक्टिविटी के बीच मैसेज भेजने के लिए किया जाता है। Android में दो प्रकार के इंटेंट उपलब्ध हैं: Implicit Intents और Explicit Intents।

Explicit Intent (स्पष्ट इंटेंट)
यह एप्लिकेशन की आंतरिक दुनिया को जोड़ने के लिए होता है जैसे एक्टिविटी शुरू करना या दो एक्टिविटी के बीच डेटा भेजना। नई एक्टिविटी शुरू करने के लिए हमें Intent ऑब्जेक्ट बनाना होगा और स्रोत एक्टिविटी और गंतव्य एक्टिविटी पास करनी होगी:
Intent send = new Intent(MainActivity.this, SecondActivity.class); startActivity(send);
और हमें Manifest.xml फाइल में दूसरी एक्टिविटी के बारे में घोषित करना चाहिए अन्यथा यह रनटाइम एक्सेप्शन दिखाएगा। नमूना घोषणा नीचे दिखाए अनुसार है:
<activity android:name=".SecondActivity"></activity>
Implicit Intents (अंतर्निहित इंटेंट)
यह बाहरी एप्लिकेशन जैसे कॉल, मेल, फोन, कोई वेबसाइट देखना आदि से जुड़ने के लिए होता है। इम्प्लिसिट इंटेंट में हमें setAction() का उपयोग करके एक एक्शन पास करना होता है:
Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse("www.tutorialspoint.com"));
startActivity(i);
उपरोक्त उदाहरण में हम एक्शन के रूप में व्यू दे रहे हैं। तो यह वह दिखाएगा जो हमने setData मेथड में दिया है।
setData() - यह मेथड केवल एक URI निर्दिष्ट करता है। setType() - यह मेथड एक MIME टाइप निर्दिष्ट करता है। setDataAndType() - यह मेथड URI और MIME टाइप दोनों निर्दिष्ट करता है।
Explicit Intent का उपयोग करने का उदाहरण
चरण 1: Android Studio में नया प्रोजेक्ट बनाएं
File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2: activity_main.xml में कोड जोड़ें
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start website"
android:id="@+id/send"/>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
चरण 3: MainActivity.java में कोड जोड़ें
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button send = findViewById(R.id.send);
send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse("https://www.tutorialspoint.com"));
startActivity(i);
}
});
}
}
चरण 4: AndroidManifest.xml में इंटरनेट परमिशन जोड़ें
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.andy.myapplication">
<uses-permission android:name="android.permission.INTERNET"/>
<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>
</application>
</manifest>
आउटपुट

अब "Start website" बटन पर क्लिक करें, यह ट्यूटोरियलस्पॉइंट वेबसाइट पर रीडायरेक्ट करेगा।
