"Android.intent.category.DEFAULT" এর উদ্দেশ্য কী?


104

android.intent.category.DEFAULTইন্টেন্ট ফিল্টারগুলির বিভাগের ক্ষেত্রে ব্যবহারের উদ্দেশ্য কী ?


2
আপনার বলা এটি আপনার আবেদনের জন্য ডিফল্ট এন্ট্রি পয়েন্ট। দেখুন: বিকাশকারী.অ্যান্ড্রয়েড.
com

@ ব্লুন্ডেল: সুতরাং যদি একটি অন্তর্নিহিত অভিপ্রায় আসে, অভিপ্রায় ফিল্টারে তার ক্যাটারি হিসাবে ডিফল্টরূপে কোনও ক্রিয়াকলাপ বলা হবে?
প্রভি

1
আমি বিশ্বাস করি এটি হ'ল "এটি প্যাকেজগুলিতে নির্দিষ্ট করা ইন্টেন্ট ফিল্টারগুলিতে ব্যবহারের জন্য" ব্যবহার করার ক্রিয়াকলাপটি বোঝাতে ব্যবহৃত হয়েছে
ব্লুন্ডেল

যদি একাধিক ক্রিয়াকলাপ তাদের বিভাগ হিসাবে ডিফল্ট থাকে তবে তাদের নিজ নিজ উদ্দিষ্টদের ফিল্টারগুলিতে কোন কার্যকলাপ বলা হবে?
প্রভি

তাদের যদি পৃথক উদ্দেশ্য ফিল্টার থাকে তবে এটি অভিপ্রায়টির উপর নির্ভর করবে।
ব্লুন্ডেল

উত্তর:


112

বিভাগগুলি অন্তর্নিহিত উদ্দেশ্যগুলির জন্য ব্যবহৃত হয়। সুতরাং, যদি কোনও ক্রিয়াকলাপের জন্য অন্য কোনও নির্দিষ্ট বিভাগকে বরাদ্দ না করা হয় তবে যদি আপনার ক্রিয়াকলাপ কোনও অন্তর্নিহিত ইন্টেন্ট দ্বারা শুরু করা যায় তবে ক্রিয়াকলাপের ইনটেন্ট ফিল্টারটি এই বিভাগটি অন্তর্ভুক্ত করা উচিত। (আপনি যদি ইন্টেন্ট ফিল্টারে অন্যান্য বিভাগে থাকেন তবে)। আপনি যদি নিশ্চিত হন যে আপনার ক্রিয়াকলাপ অবশ্যই অন্য কোনও বিভাগের সাথে কল করা উচিত , ডিফল্ট ব্যবহার করবেন না।

বিভাগে ডিফল্ট সেট করার অর্থ এই নয় যে আপনার অ্যাপ্লিকেশন চালু হওয়ার সময় এই ক্রিয়াকলাপটি ডিফল্টরূপে ব্যবহৃত হবে। ক্রিয়াকলাপটি কেবল সিস্টেমে বলে যে " ওহ আমি শুরু করতে পারতাম, এমনকি যদি স্টার্টর ইনটেন্টের বিভাগটি কিছুতেই সেট না করে! "


27
এটি আসলে একটি বোধগম্য ব্যাখ্যা ছিল। এই উত্তরটির সাথে ডক্সের সাথে তুলনা করুন: "যদি ক্রিয়াকলাপটি কোনও ডিফল্ট ক্রিয়াকলাপ (সেন্টার প্রেস) -এর জন্য কোনও টুকরোগুলি সম্পাদন করার জন্য বিকল্প হতে পারে তবে সেট করুন কোনওটির উপর ক্রিয়া সম্পাদন করার সময় এটি সেট না করে ব্যবহারকারীর কাছ থেকে কোনও ক্রিয়াকলাপ আটকানো হবে Set ডেটা "বোধগম্য বর্ণনাটি লেখা কত কঠিন হতে পারে ...
আন্দ্রেয়াস

আমি এর ম্যান্ডেট সম্পর্কে নিশ্চিত নই যদিও এটি বিকল্প হিসাবে মনে হচ্ছে যেহেতু কোনও উদ্দেশ্যমূলক ফিল্টার ব্যতীত কোনও ক্রিয়াকলাপকে এখনও অন্তর্নিহিত ক্রিয়াকলাপ হিসাবে ডাকা যেতে পারে
humblerookie

6
ডকুমেন্টেশন এখন আরও পরিষ্কার আইএমও: অ্যান্ড্রয়েড স্বয়ংক্রিয়ভাবে CATEGORY_DEFAULT বিভাগটি স্টার্টএটিভিটি () এবং স্টার্টঅ্যাক্টিভিটি ফর রিসাল্ট () এ পাস করা সমস্ত অন্তর্নিহিত অভিপ্রায় প্রয়োগ করে। সুতরাং আপনি যদি নিজের ক্রিয়াকলাপকে অন্তর্নিহিত অভিপ্রায় গ্রহণ করতে চান তবে এটি অবশ্যই তার উদ্দেশ্য ফিল্টারগুলিতে "android.intent.category.DEFAULT" এর জন্য একটি বিভাগ অন্তর্ভুক্ত করবে।
shkschneider

2
@humblerookie। আমি এটি চেষ্টা করেছি এবং এটি ডিফল্ট বিভাগ ছাড়া কাজ করে না। আপনি যদি বিশ্বাস না করেন তবে আমাকে নিজের জন্য পরীক্ষা করুন।
বব উয়েল্যান্ড 14

2
যদি কেবলমাত্র সমস্ত টিউটোরিয়াল এভাবে লেখা থাকে। কেন আমরা 2018 সালে এখনও কাঠের ভাষা ব্যবহার করি?
সুডোপ্লাজ

24

এই বিভাগটি মূলত অন্তর্নিহিত উদ্দেশ্যগুলির জন্য ব্যবহৃত হয়। যদি আপনার ক্রিয়াকলাপ কোনও অন্তর্নিহিত অভিপ্রায় দ্বারা শুরু করা ইচ্ছুক থাকে তবে এটি এই ক্যাটিটরিটিকে তার ফিল্টারে অন্তর্ভুক্ত করা উচিত।

আমি মনে করি "ডিফল্ট" শব্দটি "ডিফল্ট প্রার্থী " হিসাবে বোঝা উচিত । যদি কোনও টুকরো ডেটার ক্রিয়াটি একাধিক ক্রিয়াকলাপের সমাধান করে তবে অ্যান্ড্রয়েড সমস্ত প্রার্থীকে ব্যবহারকারীর সামনে উপস্থাপন করবে এবং ব্যবহারকারী তার পছন্দসই ডিফল্ট নির্বাচন করতে পারবেন।

রেফারেন্স:

http://developer.android.com/guide/components/intents-filters.html

এই পৃষ্ঠাটি থেকে বের করুন:

অ্যান্ড্রয়েড স্টার্টঅ্যাক্টিভিটি () থেকে উত্তীর্ণ সমস্ত অন্তর্নিহিত উদ্দেশ্যগুলি এমনভাবে আচরণ করে যেন সেগুলিতে কমপক্ষে একটি বিভাগ থাকে: "android.intent.category.DEFAULT" (CATEGORY_DEFAULT ধ্রুবক)। অতএব, অন্তর্ভুক্ত অভিপ্রায় গ্রহণ করতে ইচ্ছুক ক্রিয়াকলাপগুলিতে অবশ্যই তাদের উদ্দেশ্য ফিল্টারগুলিতে "android.intent.category.DEFAULT" অন্তর্ভুক্ত করা উচিত। ("অ্যান্ড্রয়েড.ইন.ইন্ট.অ্যাকশন.আর.ভি" এবং "অ্যান্ড্রয়েডআইটিএনটিটি.এল.এইচএনএইচআর" সেটিংস সহ ফিল্টারগুলি ব্যতিক্রম They তারা নতুন ক্রিয়াকলাপগুলিকে চিহ্নিত করে এবং যা লঞ্চারের স্ক্রিনে উপস্থাপন করা হয় সেগুলিকে চিহ্নিত করে They তারা "android.intent অন্তর্ভুক্ত করতে পারে .category.DEFAULT "বিভাগগুলির তালিকায়, তবে দরকার নেই))


@ কম্পিউটার, আপনার উত্তর আর নীচে নেই। এটা উঠছে। :-)
এলেন স্পার্টাস

হ্যাঁ, তবে আমি এটিকে আবার আগের অবস্থায় ঘুরিয়ে দিয়েছি। সুতরাং আমি মোটেও আইপেনিথিং পরিবর্তন করিনি।
üzgür

1
আমি এই উত্তরটি আমার বর্তমান পরিস্থিতি-বোঝার অভিপ্রায় ফিল্টারগুলিতে আরও সহায়ক বলে মনে করি। ধন্যবাদ.
নিয়ন ওয়ার্জ

1

অ্যাপটি চলাকালীন আপনার অন্যান্য ক্রিয়াকলাপ ডেকে আনা যেতে পারে তা নিশ্চিত করা। লঞ্চার সেই ক্রিয়াকলাপটিকে তৈরি করবে যা এতে প্রথম ক্রিয়াকলাপ শুরু হয়। অন্যান্য ক্রিয়াকলাপে যাওয়ার জন্য অভিপ্রায় ব্যবহার করতে, তাদের ডিফল্ট রেখে "প্রকৃত" ক্রিয়াকলাপ হিসাবে তালিকাভুক্ত করতে হবে। এটি আমি যা জানি তা থেকে তাই এটি ভুল হলে আমাকে উদ্ধৃত করবেন না।


3
আপনার দাবিগুলির জন্য রেফারেন্স দেওয়ার জন্য আপনার প্রচেষ্টা করা উচিত। "এটি ভুল হলে আমাকে উদ্ধৃত করবেন না" আপনাকে এই নিয়মটিকে ওভাররাইড করার অনুমতি দেয় না।
verybadalloc

আমার কাছে থাকা রেফারেন্সটি এমন একটি প্রকল্প যা আমি অ্যান্ড্রয়েড কোডিং সম্পর্কে অধ্যয়নকালে কাজ করেছি। আপনি যদি উত্স ফাইলগুলি চান তবে আমি সেগুলি প্রেরণে খুশি হব।
সিএইচটি

1

ক্রিয়াকলাপগুলিতে CATEGORY_DEFAULT সমর্থন করা দরকার যাতে সেগুলি Context.startActivity () দ্বারা সন্ধান করতে পারে।

অন্তর্নিহিত অভিপ্রায়গুলি পেতে, আপনাকে অবশ্যই উদ্দিষ্ট ফিল্টারটিতে CATEGORY_DEFAULT বিভাগ অন্তর্ভুক্ত করতে হবে। স্টার্টঅ্যাক্টিভিটি () এবং স্টার্টঅ্যাক্টিভিটি ফর রিসাল্ট () পদ্ধতিগুলি সমস্ত অভিপ্রায়কে এমন আচরণ করে যেন তারা CATEGORY_DEFAULT বিভাগ ঘোষণা করে। যদি আমরা এটি আমাদের উদ্দেশ্য ফিল্টারে ঘোষণা না করি তবে কোনও ক্রিয়াকলাপ আমাদের ক্রিয়াকলাপে সমাধান করবে না।


0

এটি কিছু ক্রিয়াকলাপকে ডিফল্ট ক্রিয়া হিসাবে ঘোষণা করার জন্য ব্যবহৃত হয় (নাম হিসাবে এটি প্রস্তাবিত হয়)। আমাদের একটি নোটপ্যাড অ্যাপ্লিকেশন (অ্যান্ড্রয়েড নোটপ্যাডের নমুনা উল্লেখ করে) বিবেচনা করি। অ্যাপের প্রথম পৃষ্ঠায় সমস্ত নোটপ্যাড ফাইলের একটি তালিকা রয়েছে। যখন একটি নোটপ্যাড ফাইল নির্বাচন করা হয় তখন সম্পাদনা নোট, মুছুন নোট ইত্যাদির মতো একটি ক্রিয়াকলাপ সম্পাদন করা যায়। তবে আমি সম্পাদনাটিকে আমার ডিফল্ট ক্রিয়া হিসাবে তৈরি করতে চাই যার অর্থ যখন আমি আমার কীপ্যাডের কেন্দ্র বোতামটি টিপব তখন সম্পাদনা উইন্ডোটি খোলা উচিত।


1
যদি আপনি অ্যান্ড্রয়েড নোটপ্যাডের উদাহরণটি দেখেন, সমস্ত ক্রিয়াকলাপগুলি ডিফল্ট হিসাবে চিহ্নিত করা হয়েছে: developer.android.com/references/android/content/Inttent.html
পিটার আজতাই

0

https://developer.android.com/guide/components/intents-filters

অন্তর্নিহিত অভিপ্রায়গুলি পেতে, আপনাকে অবশ্যই অভিপ্রায়কারী ফিল্টারে CATEGORY_DEFAULT বিভাগটি অন্তর্ভুক্ত করতে হবে। স্টার্টঅ্যাক্টিভিটি () এবং স্টার্টঅ্যাক্টিভিটি ফর রিসাল্ট () পদ্ধতিগুলি সমস্ত অভিপ্রায়কে এমন আচরণ করে যেন তারা CATEGORY_DEFAULT বিভাগ ঘোষণা করে। আপনি যদি আপনার অভিপ্রায় ফিল্টারটিতে এই বিভাগটি ঘোষণা না করেন তবে কোনও কার্যপ্রণালী আপনার ক্রিয়াকলাপের সমাধান করবে না resolve


-1

বিভাগ:

android.intent.category.DEFAULT

কোনও অন্তর্নিহিত ইচ্ছার সাথে মেলে। আপনার ক্রিয়াকলাপের জন্য কোনও অন্তর্নিহিত উদ্দেশ্য গ্রহণের জন্য এই বিভাগটি অবশ্যই অন্তর্ভুক্ত করা উচিত।

https://codelabs.developers.google.com/codelabs/android-training-activity-with-implicit-intent/index.html?index=..%2F..%2Fandroid-training#6

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.