গুগলের নিজস্ব ডকুমেন্টেশন থেকে নয়, এই বিষয়ে অনেক ভুল তথ্য রয়েছে। সেরা, এবং অদ্ভুত যুক্তি দেওয়া, সম্ভবত একমাত্র আসল ডকুমেন্টেশন হ'ল সোর্স কোড।
অভিপ্রায় ফিল্টার বাস্তবায়ন যুক্তিবিজ্ঞান যে প্রায় বিবরণ defies হয়েছে। পার্সার কোড ধাঁধার অন্যান্য প্রাসঙ্গিক টুকরা।
নিম্নলিখিত ফিল্টারগুলি বুদ্ধিমান আচরণের খুব কাছাকাছি আসে। "file"
প্রকল্পের উদ্দেশ্যগুলির জন্য পাথের নিদর্শনগুলি প্রয়োগ হয় ।
গ্লোবাল মাইম টাইপ প্যাটার্ন ম্যাচটি সমস্ত প্রকারের সাথে মিলবে যতক্ষণ না ফাইল এক্সটেনশন মেলে। এটি নিখুঁত নয়, তবে ইএস ফাইল এক্সপ্লোরারের মতো ফাইল পরিচালকদের আচরণের একমাত্র উপায়, এবং এটি ইউআরআই / ফাইলের এক্সটেনশান মেলে এমন অভিপ্রায়গুলিতে সীমাবদ্ধ।
আমি "http"
এখানে অন্যান্য স্কিম অন্তর্ভুক্ত করা হয়নি , তবে তারা সম্ভবত এই সমস্ত ফিল্টার উপর দুর্দান্ত কাজ করবে।
বিজোড় স্কিমটি হ'ল "content"
, যার জন্য এক্সটেনশনটি ফিল্টারটিতে উপলব্ধ নয়। তবে যতক্ষণ সরবরাহকারী আপনার এমআইএমএম টাইপটি বর্ণনা করে (উদাহরণস্বরূপ সংযুক্তিটি আনপ্যাম্পড না করার জন্য জিএমআইএম টাইপটি পাস করবে), ফিল্টারটি মিলবে।
সচেতন হতে হবে:
- ফিল্টারগুলিতে কোনও কিছুই ধারাবাহিকভাবে আচরণ করে না সে সম্পর্কে সচেতন থাকুন, এটি বিশেষ মামলার এক ধাঁধা এবং নকশা লক্ষ্য হিসাবে অন্তত বিস্ময়ের নীতি লঙ্ঘন করে। অ্যালগরিদমের সাথে মেলে এমন কোনও প্যাটার্ন একই সিনট্যাক্স বা আচরণ অনুসরণ করে না। ক্ষেত্রের অনুপস্থিতি কখনও কখনও ওয়াইল্ডকার্ড হয় এবং কখনও কখনও তা হয় না। ডেটা উপাদানগুলির মধ্যে থাকা বৈশিষ্ট্যগুলি কখনও কখনও একসাথে যেতে হবে এবং কখনও কখনও গ্রুপিং উপেক্ষা করতে হবে। এটি সত্যিই আরও ভাল করা যেতে পারে।
scheme
অ্যান্ড দ্য অ্যাডগুলি host
অবশ্যই path
নিয়মের সাথে মিলের জন্য নির্দিষ্ট করা উচিত (বর্তমানে গুগলের এপিআই গাইডের বিপরীতে)।
- কমপক্ষে ES ফাইল এক্সপ্লোরার একটি মাইম টাইপের সাথে ইন্টেন্ট জেনারেট করে
""
, যা খুব আলাদাভাবে ফিল্টার করা হয় null
, এটি স্পষ্টভাবে মিলানো অসম্ভব, এবং কেবল ঝুঁকিপূর্ণ "*/*"
ফিল্টারটির সাথে মিলে যায় ।
"*/*"
ফিল্টার একটি সঙ্গে ইন্টেন্টসমূহ মেলে না হবে null
যে সব সময়ে কোন MIME প্রকার সঙ্গে এই নির্দিষ্ট ঘটনাতে জন্য পৃথক ফিল্টার প্রয়োজন - MIME প্রকার।
"content"
প্রকল্প শুধুমাত্র MIME প্রকার দ্বারা মেলানো যাবে না কারণ মূল ফাইলের নাম অভিপ্রায় (অন্তত Gmail এর সাথে) এ পাওয়া যায় না।
- পৃথক
"data"
উপাদানগুলিতে গুণাবলীর গোষ্ঠীকরণটি (প্রায়) ব্যাখ্যার সাথে অপ্রাসঙ্গিক, এর নির্দিষ্ট ব্যতিক্রম host
এবং port
- যা একসাথে জুড়ে। সমস্ত কিছুর কোনও "data"
উপাদান বা "data"
উপাদানগুলির মধ্যে কোনও নির্দিষ্ট সংযোগ নেই ।
এই সব মনে রেখে, এখানে মন্তব্য সহ একটি উদাহরণ:
<intent-filter
android:icon="@drawable/icon"
android:label="@string/app_name"
android:priority="50" >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:scheme="content" />
<data android:mimeType="application/vnd.my-type" />
</intent-filter>
<intent-filter
android:icon="@drawable/icon"
android:label="@string/app_name"
android:priority="50" >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:host="*" />
<data android:pathPattern=".*\\.my-ext" />
<data android:pathPattern=".*\\..*\\.my-ext" />
<data android:pathPattern=".*\\..*\\..*\\.my-ext" />
<data android:pathPattern=".*\\..*\\..*\\..*\\.my-ext" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.my-ext" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.my-ext" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.my-ext" />
</intent-filter>
<intent-filter
android:icon="@drawable/icon"
android:label="@string/app_name"
android:priority="50" >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:host="*" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.my-ext" />
<data android:pathPattern=".*\\..*\\.my-ext" />
<data android:pathPattern=".*\\..*\\..*\\.my-ext" />
<data android:pathPattern=".*\\..*\\..*\\..*\\.my-ext" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.my-ext" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.my-ext" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.my-ext" />
</intent-filter>