- বাক্য গঠন:
- যদি ডেটা ট্যাগটি একটি
<intent-filter>এর তাৎক্ষণিক সন্তান হয়:<data android:scheme="string" android:host="string" android:port="string" android:path="string" android:pathPattern="string" android:pathPrefix="string" android:pathSuffix="string" android:pathAdvancedPattern="string" android:mimeType="string" />
যদি ডেটা ট্যাগটি<uri-relative-filter-group>এর তাৎক্ষণিক সন্তান হয়:<data android:path="string" android:pathPattern="string" android:pathPrefix="string" android:pathSuffix="string" android:pathAdvancedPattern="string" android:fragment="string" android:fragmentPattern="string" android:fragmentPrefix="string" android:fragmentSuffix="string" android:fragmentAdvancedPattern="string" android:query="string" android:queryPattern="string" android:queryPrefix="string" android:querySuffix="string" android:queryAdvancedPattern="string" />
- এর মধ্যে রয়েছে:
-
<intent-filter>
<uri-relative-filter-group> - বর্ণনা:
- একটি ইনটেন্ট ফিল্টারে একটি ডেটা স্পেসিফিকেশন যোগ করে। স্পেসিফিকেশন হল একটি ডেটা টাইপ, যা
mimeTypeঅ্যাট্রিবিউট, একটি URI, অথবা একটি ডেটা টাইপ এবং একটি URI উভয়ই ব্যবহার করে। একটি URI এর প্রতিটি অংশের জন্য পৃথক অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা হয়:<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]এই বৈশিষ্ট্যগুলি যা URI ফর্ম্যাট নির্দিষ্ট করে তা ঐচ্ছিক, তবে পারস্পরিকভাবে নির্ভরশীল:
- যদি ইনটেন্ট ফিল্টারের জন্য কোনও
schemeনির্দিষ্ট না করা থাকে, তাহলে অন্যান্য সমস্ত URI বৈশিষ্ট্য উপেক্ষা করা হয়। - যদি ফিল্টারের জন্য একটি
hostনির্দিষ্ট না করা থাকে, তাহলেportঅ্যাট্রিবিউট এবং সমস্ত পাথ অ্যাট্রিবিউট উপেক্ষা করা হয়।
একই
<intent-filter>এলিমেন্টের মধ্যে থাকা সমস্ত<data>এলিমেন্ট একই ফিল্টারে অবদান রাখে। উদাহরণস্বরূপ, নিম্নলিখিত ফিল্টার স্পেসিফিকেশন:<intent-filter . . . > <data android:scheme="something" android:host="project1.example.com" /> <data android:scheme="something-else" android:host="project2.example.com" android:path="/page1" /> ... </intent-filter>
এর সমতুল্য:
<intent-filter . . . > <data android:scheme="something" /> <data android:scheme="something-else" /> <data android:host="project1.example.com" /> <data android:host="project2.example.com" /> <data android:path="/page1" /> ... </intent-filter>
আপনি
<intent-filter>এর ভিতরে যেকোনো সংখ্যক<data>উপাদান রাখতে পারেন যাতে এটি একাধিক ডেটা অপশন পায়। এর কোনও অ্যাট্রিবিউটেরই ডিফল্ট মান নেই।ইন্টেন্ট ফিল্টার কীভাবে কাজ করে সে সম্পর্কে তথ্যের জন্য, ফিল্টারের সাথে ইন্টেন্ট অবজেক্টগুলি কীভাবে মেলানো হয় তার নিয়মগুলি সহ, ম্যানিফেস্ট ফাইল ওভারভিউতে ইন্টেন্ট এবং ইন্টেন্ট ফিল্টার এবং ইন্টেন্ট ফিল্টার বিভাগটি দেখুন।
- যদি ইনটেন্ট ফিল্টারের জন্য কোনও
- বৈশিষ্ট্য:
-
android:scheme - একটি URI-এর স্কিমের অংশ। এটি একটি URI নির্দিষ্ট করার জন্য সর্বনিম্ন প্রয়োজনীয় অ্যাট্রিবিউট। ফিল্টারের জন্য কমপক্ষে একটি
schemeঅ্যাট্রিবিউট সেট করতে হবে, অন্যথায় অন্য কোনও URI অ্যাট্রিবিউট অর্থপূর্ণ হবে না।একটি স্কিম ট্রেলিং কোলন ছাড়াই নির্দিষ্ট করা হয়, যেমন
httphttp:।যদি ফিল্টারটিতে একটি ডেটা টাইপ সেট থাকে (
mimeTypeঅ্যাট্রিবিউট ব্যবহার করে) কিন্তু কোনও স্কিম না থাকে, তাহলেcontent:এবংfile:স্কিম ধরে নেওয়া হয়।দ্রষ্টব্য : অ্যান্ড্রয়েড ফ্রেমওয়ার্কে স্কিম ম্যাচিং কেস-সংবেদনশীল, RFC-এর মতো নয়। ফলস্বরূপ, সর্বদা ছোট হাতের অক্ষর ব্যবহার করে স্কিমগুলি নির্দিষ্ট করুন।
-
android:host - একটি URI অথরিটির হোস্ট অংশ। ফিল্টারের জন্য একটি
schemeঅ্যাট্রিবিউট নির্দিষ্ট না করা পর্যন্ত এই অ্যাট্রিবিউট অর্থহীন। একাধিক সাবডোমেন মেলাতে, হোস্টে শূন্য বা তার বেশি অক্ষর মেলাতে একটি তারকাচিহ্ন (*) ব্যবহার করুন। উদাহরণস্বরূপ, হোস্ট*.google.comwww.google.com,.google.com, এবংdeveloper.google.comসাথে মেলে।হোস্ট অ্যাট্রিবিউটের প্রথম অক্ষরটি অবশ্যই তারকাচিহ্ন হতে হবে। উদাহরণস্বরূপ, হোস্ট
google.co.*অবৈধ, কারণ তারকাচিহ্ন ওয়াইল্ডকার্ডটি প্রথম অক্ষর নয়।দ্রষ্টব্য : অ্যান্ড্রয়েড ফ্রেমওয়ার্কে হোস্ট নেম ম্যাচিং কেস-সংবেদনশীল, আনুষ্ঠানিক RFC-এর মতো নয়। ফলস্বরূপ, সর্বদা ছোট হাতের অক্ষর ব্যবহার করে হোস্ট নেম নির্দিষ্ট করুন।
-
android:port - একটি URI অথরিটির পোর্ট অংশ। এই অ্যাট্রিবিউটটি তখনই অর্থবহ হবে যদি ফিল্টারের জন্য
schemeএবংhostঅ্যাট্রিবিউটগুলিও নির্দিষ্ট করা থাকে। -
android:path
android:pathPrefix
android:pathSuffix
android:pathPattern
android:pathAdvancedPattern - একটি URI এর পাথ অংশ, যা
/দিয়ে শুরু হতে হবে।pathঅ্যাট্রিবিউটটি একটি সম্পূর্ণ পাথ নির্দিষ্ট করে যা একটিIntentঅবজেক্টের সম্পূর্ণ পাথের সাথে মিলে যায়।pathPrefixঅ্যাট্রিবিউটটি একটি আংশিক পাথ নির্দিষ্ট করে যা শুধুমাত্রIntentঅবজেক্টের পাথের প্রাথমিক অংশের সাথে মিলে যায়।pathSuffixঅ্যাট্রিবিউটটিIntentঅবজেক্টের পাথের শেষ অংশের সাথে হুবহু মিলে যায়, এবং এই অ্যাট্রিবিউটটি/অক্ষর দিয়ে শুরু হতে হবে না।pathPatternঅ্যাট্রিবিউটটি একটি সম্পূর্ণ পাথ নির্দিষ্ট করে যাIntentঅবজেক্টের সম্পূর্ণ পাথের সাথে মিলে যায়, তবে এতে নিম্নলিখিত ওয়াইল্ডকার্ড থাকতে পারে:- একটি পিরিয়ড (
.) যেকোনো অক্ষরের সাথে মিলে যায়। - একটি তারকাচিহ্ন (
*) শূন্যের একটি ক্রমকে তৎক্ষণাৎ পূর্ববর্তী অক্ষরের অনেক ঘটনার সাথে মেলায়। - একটি তারকাচিহ্ন (
.*) এর পরে একটি পিরিয়ড শূন্যের যেকোনো ক্রমকে অনেক অক্ষরের সাথে মেলায়।
pathAdvancedPatternঅ্যাট্রিবিউটটি একটি সম্পূর্ণ পাথ নির্দিষ্ট করে, যাIntentঅবজেক্টের সম্পূর্ণ পাথের সাথে মিলে যায় এবং নিম্নলিখিত regex-সদৃশ প্যাটার্নগুলিকে সমর্থন করে:- একটি পিরিয়ড (
.) যেকোনো অক্ষরের সাথে মিলে যায়। - একটি সেট (
[...]) অক্ষরের পরিসরের সাথে মেলে। উদাহরণস্বরূপ,[0-5]0 থেকে 5 পর্যন্ত একটি একক সংখ্যার সাথে মেলে কিন্তু 6 থেকে 9 পর্যন্ত নয়[a-zA-Z]যেকোনো অক্ষরের সাথে মেলে, কেস নির্বিশেষে। সেটগুলি "not"^সংশোধককেও সমর্থন করে। - তারকাচিহ্ন (
*) সংশোধকটি পূর্ববর্তী প্যাটার্নের সাথে শূন্য বা তার বেশি বার মেলে। - প্লাস (
+) মডিফায়ারটি পূর্ববর্তী প্যাটার্নের সাথে এক বা একাধিক বার মেলে। - পরিসর (
{...}) মডিফায়ার একটি প্যাটার্ন কতবার মিলতে পারে তা নির্দিষ্ট করে।
pathAdvancedPatternmatcher হল একটি মূল্যায়ন বাস্তবায়ন যেখানে কোনও ব্যাকট্র্যাকিং সমর্থন ছাড়াই রিয়েল টাইমে প্যাটার্নের বিপরীতে ম্যাচিং করা হয়।যেহেতু XML থেকে স্ট্রিং পড়ার সময়
\একটি এস্কেপ ক্যারেক্টার হিসেবে ব্যবহৃত হয়, তাই এটিকে প্যাটার্ন হিসেবে পার্স করার আগে, আপনাকে ডাবল-এস্কেপ করতে হবে। উদাহরণস্বরূপ, একটি আক্ষরিক*লেখা হয়\\*হিসাবে, এবং একটি আক্ষরিক\লেখা হয়\\\\হিসাবে। এটি জাভা কোডে স্ট্রিং তৈরি করার সময় আপনি যা লেখেন তার মতো।এই পাঁচ ধরণের প্যাটার্ন সম্পর্কে আরও তথ্যের জন্য,
PatternMatcherক্লাসেPATTERN_LITERAL,PATTERN_PREFIX,PATTERN_SIMPLE_GLOB,PATTERN_SUFFIX, এবংPATTERN_ADVANCED_GLOBএর বর্ণনা দেখুন।এই বৈশিষ্ট্যগুলি কেবল তখনই অর্থবহ হবে যদি ফিল্টারের জন্য
schemeএবংhostবৈশিষ্ট্যগুলিও নির্দিষ্ট করা থাকে।API লেভেল 31-এ
pathSuffixএবংpathAdvancedPatternচালু করা হয়েছিল। - একটি পিরিয়ড (
-
android:fragment
android:fragmentPrefix
android:fragmentSuffix
android:fragmentPattern
android:fragmentAdvancedPattern একটি URI ফ্র্যাগমেন্টের জন্য একটি ম্যাচার।
#প্রিফিক্স অন্তর্ভুক্ত করবেন না। প্রতিটি অ্যাট্রিবিউটের অর্থ এবং অনুমোদিত প্যাটার্নের জন্য উপরে দেখুন।সাধারণত URI এনকোড করা অক্ষরগুলির সাথে মেলানোর জন্য, অ্যাট্রিবিউট মানের মধ্যে raw (nonencoded) ফর্মটি অন্তর্ভুক্ত করুন। উদাহরণস্বরূপ,
<data android:fragment="test!" />#test!এবং#test%21সাথে মেলে।API লেভেল ৩৫-এ প্রবর্তিত।
-
android:query
android:queryPrefix
android:querySuffix
android:queryPattern
android:queryAdvancedPattern একটি URI কোয়েরি প্যারামিটারের (এবং ঐচ্ছিকভাবে, একটি মান) জন্য একটি ম্যাচার। উদাহরণস্বরূপ, আপনি
?param=valueদিয়ে শেষ হওয়া URI গুলিকে<data android:query="param=value" />দিয়ে মেলাতে পারেন।?উপসর্গটি অন্তর্ভুক্ত করবেন না। প্রতিটি অ্যাট্রিবিউটে অনুমোদিত অর্থ এবং প্যাটার্নের জন্য উপরে দেখুন।সাধারণত URI-এনকোডেড অক্ষরগুলির সাথে মেলানোর জন্য, অ্যাট্রিবিউট মানের মধ্যে raw (nonencoded) ফর্মটি অন্তর্ভুক্ত করুন। উদাহরণস্বরূপ,
<data android:query="test!" />?test!এবং?test%21সাথে মেলে।API লেভেল ৩৫-এ প্রবর্তিত।
-
android:mimeType - একটি MIME মিডিয়া টাইপ, যেমন
image/jpegঅথবাaudio/mpeg4-generic। সাবটাইপটি তারকাচিহ্নের ওয়াইল্ডকার্ড (*) হতে পারে যা নির্দেশ করে যে কোনও সাবটাইপ মিলছে।একটি ইন্টেন্ট ফিল্টারের ক্ষেত্রে এটি সাধারণ যে এটি এমন একটি
<data>উপাদান ঘোষণা করে যার মধ্যে শুধুমাত্রandroid:mimeTypeঅ্যাট্রিবিউট থাকে।দ্রষ্টব্য : অ্যান্ড্রয়েড ফ্রেমওয়ার্কে MIME টাইপ ম্যাচিং কেস-সংবেদনশীল, আনুষ্ঠানিক RFC MIME টাইপের বিপরীতে। ফলস্বরূপ, সর্বদা ছোট হাতের অক্ষর ব্যবহার করে MIME টাইপ নির্দিষ্ট করুন।
-
- প্রবর্তিত:
- API লেভেল ১
- আরও দেখুন:
-
<action>
<category>
<ডেটা>
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2026-02-23 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2026-02-23 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[]]