একটি ইন্টেন্ট ফিল্টার হল IntentFilter ক্লাসের একটি উদাহরণ। অন্তর্নিহিত উদ্দেশ্য ব্যবহার করার সময় ইন্টেন্ট ফিল্টার সহায়ক, এটি জাভা কোডে পরিচালনা করা যাচ্ছে না, আমাদের এটিকে AndroidManifest.xml-এ সেট আপ করতে হবে। অ্যান্ড্রয়েডকে অবশ্যই জানতে হবে যে এটি কী ধরনের অভিপ্রায় চালু করছে তাই অভিপ্রায় ফিল্টারগুলি অভিপ্রায় এবং অ্যাকশন সম্পর্কে অ্যান্ড্রয়েডকে তথ্য দেয়৷
উদ্দেশ্য লঞ্চ করার আগে, অ্যানড্রয়েড অ্যাকশন টেস্ট, ক্যাটাগরি টেস্ট এবং ডেটা টেস্ট করতে যাচ্ছে। এই উদাহরণটি দেখায় কিভাবে অ্যান্ড্রয়েডে ইন্টেন্ট ফিল্টার ব্যবহার করতে হয়।
ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷
ধাপ 2৷ − নিম্নলিখিত কোডটি res/layout/activity_main.xml-এ যোগ করুন
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:app="https://schemas.android.com/apk/res-auto" xmlns:tools="https://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" tools:context=".MainActivity"> <Button android:id="@+id/buton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="intent filter button" /> </LinearLayout>
উপরে, আমরা একটি বোতাম দিয়েছি যখন আপনি বোতামে ক্লিক করবেন এটি অ্যাকশন সহ অভিপ্রায় দেখাবে।
ধাপ 3 − নিম্নলিখিত কোডটি src/MainActivity.java-এ যোগ করুন
package com.example.andy.myapplication; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.RadioButton; public class MainActivity extends AppCompatActivity { RadioButton radioButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button button = findViewById(R.id.buton); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("message/rfc822"); intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); intent.putExtra(Intent.EXTRA_SUBJECT, "Welcome to tutorialspoint.com"); startActivity(Intent.createChooser(intent, "Choose default Mail App")); } }); } }
উপরে ব্যবহারকারী যখন বোতামে ক্লিক করবে তখন এটি ACTION_SEND ব্যবহার করে অভিপ্রায়কে কল করবে এবং টাইপটিকে বার্তা/rfc882 হিসাবে সেট করবে। এখন আমরা ইমেল আইডি এবং বিষয় বার্তা পাস আউট.
পদক্ষেপ 4৷ − manifest.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" /> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="message/rfc822" /> </intent-filter> </activity> </application> </manifest>
উপরে আমরা অ্যাকশন, ক্যাটাগরি এবং ডাটা ঘোষণা করেছি। আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -
উপরের বোতামে ক্লিক করুন এটি নিচের মত ইন্টেন্ট থেকে ডেটা পাঠানোর জন্য অ্যাপ্লিকেশন বেছে নিতে ইন্টেন্ট চয়নকারীকে কল করবে -
আমরা নীচে দেখানো হিসাবে জিমেইল অ্যাপ্লিকেশন নির্বাচন করেছি -
উপরের ফলাফলে, এটি উদ্দেশ্য থেকে ডেটা গ্রহণ করবে এবং জিমেইল অ্যাপ্লিকেশনে যুক্ত করবে।