অ্যান্ড্রয়েড 6 এবং উচ্চতর রানটাইম অনুমতি ব্যবহারকারীদের নিয়ন্ত্রণ করে যখন তারা একটি ডিভাইসের মাইক্রোফোন থেকে অডিও বা ডিভাইসের ক্যামেরা থেকে ভিডিও রেকর্ড করার অনুমতি দেয়। একটি অ্যাপ রেকর্ড করার আগে, একটি ব্যবহারকারীকে সিস্টেমটি উপস্থাপন করা ডায়ালগের মাধ্যমে অনুমতি দিতে হবে বা অস্বীকার করতে হবে।
অ্যান্ড্রয়েড 12 ব্যবহারকারীদের স্বচ্ছতা প্রদান করে যখন কোনো অ্যাপ ক্যামেরা এবং মাইক্রোফোন অ্যাপ-অপারেশনের অনুমতির মাধ্যমে একটি ব্যক্তিগত ডেটা উৎস ব্যবহার করে তখন সূচকগুলি প্রদর্শন করে। রানটাইম অনুমতি-সুরক্ষিত APIগুলিতে অ্যাপ-অপস রেকর্ড অ্যাক্সেস।
অ্যাপ-অপ অ্যাক্টিভিটি স্ট্যাটাস এবং স্বতন্ত্র API কলের সংখ্যা উভয়ই ট্র্যাক করে এবং Android 12-এ মাইক্রোফোন এবং ক্যামেরা সূচকগুলির সাথে ইন্টারঅ্যাক্ট করে ব্যবহারকারীদের দেখানোর জন্য যে অ্যাপগুলি তাদের ডিভাইসে অডিও এবং ক্যামেরা ডেটা অ্যাক্সেস করেছে। যখন ব্যবহারকারীরা মাইক্রোফোন বা ক্যামেরা সূচকে ক্লিক করেন, তখন তারা দেখতে পান কোন অ্যাপগুলি তাদের ডেটা অ্যাক্সেস করেছে। এই বৈশিষ্ট্যটি সমস্ত OEM-এর জন্য বাধ্যতামূলক৷
সূচক দৃশ্যমানতা প্রয়োজনীয়তা
অ্যান্ড্রয়েড 12 বা উচ্চতর ডিভাইসে চলমান ডিভাইসগুলিতে মাইক্রোফোন এবং ক্যামেরা সূচকগুলির প্রয়োজনীয়তাগুলি হল:
- সূচকগুলি অবশ্যই স্ট্যাটাস বারে উপস্থিত হতে হবে এবং সর্বোচ্চ ভিজ্যুয়াল অগ্রাধিকার বজায় রাখতে হবে (উদাহরণস্বরূপ, উপরের-ডান কোণায় ডানদিকে অবস্থিত)।
- সূচকগুলি অবশ্যই একই অবস্থানে অবিচ্ছিন্নভাবে অবস্থিত হতে হবে এবং এটি চালু হওয়ার সময় একটি অ্যাপ দ্বারা অবরুদ্ধ করা উচিত নয়৷
- উভয় সূচক অবশ্যই সবুজ (অথবা সবুজের একটি ভিন্নতা) রঙের হতে হবে।
- একটি বা উভয় সূচকে ক্লিক করলে অবশ্যই একটি অ্যাপ অ্যাট্রিবিউশন সামর্থ্য বিজ্ঞপ্তি রেন্ডার করতে হবে যা নিম্নলিখিতগুলি করে:
- মাইক্রোফোন এবং (বা) ক্যামেরা ব্যবহার করে অ্যাপের নাম প্রদর্শন করে
- গত 15 সেকেন্ডের মধ্যে মাইক্রোফোন এবং (বা) ক্যামেরা ব্যবহার করা অ্যাপের নাম প্রদর্শন করে
- সেটিংসে অ্যাপের অনুমতি পৃষ্ঠায় ব্যবহারকারীদের নিয়ে যায়
ব্যবহার এবং বৈশিষ্ট্য
Android 12-এ, UI চলমান ব্যবহার এবং সাম্প্রতিক ব্যবহারের মধ্যে পার্থক্য করে। ব্যবহারগুলি সক্রিয় হিসাবে বিবেচিত হয় যদি সেগুলি হয় সিস্টেম দ্বারা চলমান হিসাবে চিহ্নিত করা হয় বা 5 সেকেন্ডের কম পুরানো হয়৷
- স্ট্যাটাস বার আইকনগুলি প্রতিবার দেখায় যখন কোনও অ্যাপের চলমান ব্যবহারকারী-সংবেদনশীল মাইক্রোফোন বা ক্যামেরা অ্যাক্সেস থাকে।
- ব্যবহারকারীরা এই আইকনগুলিতে ক্লিক করতে পারেন এবং দেখতে পারেন কোন অ্যাপগুলি মাইক্রোফোন, ক্যামেরা বা উভয়ই অ্যাক্সেস করছে৷
চিত্র 1. মাইক্রোফোন এবং ক্যামেরা ব্যবহারের সূচক সক্রিয় অ্যাক্সেস দেখাচ্ছে (উপরে-ডান কোণে)
যতক্ষণ সূচকগুলি দেখায় ততক্ষণ অ্যাক্সেস সক্রিয় বলে বিবেচিত হয়। একটি আইকন প্রথমে দেখায়, তারপরে একটি বিন্দুতে রূপান্তরিত হয় যা অ্যাপটি খারিজ বা বন্ধ না হওয়া পর্যন্ত অব্যাহত থাকে।
যখন একজন ব্যবহারকারী দ্রুত সেটিংস খোলে এবং তারপর সূচকগুলিতে আলতো চাপ দেয়, তখন একটি ডায়ালগ উপস্থিত হয় যা দেখায় যে অ্যাপটি ক্যামেরা, মাইক্রোফোন বা উভয়ই ব্যবহার করছে কিনা৷
চিত্র 2. সক্রিয় এবং সাম্প্রতিক অ্যাক্সেস সূচক
চিত্র 2- এর চিত্রটি সক্রিয় অ্যাক্সেস সূচকগুলি দেখায় যখন একটি চলমান অ্যাপ দ্বারা গত 5 সেকেন্ডে ডেটা অ্যাক্সেস করা হয়েছে।
সাম্প্রতিক অ্যাক্সেস সূচকগুলি দেখায় যে পূর্বের 15 সেকেন্ডের সময় একটি অ্যাপ দ্বারা ডেটা অ্যাক্সেস করা হয়েছিল, কিন্তু অ্যাপটি সক্রিয় নয়৷ সমস্ত সক্রিয় অ্যাপ সংলাপে দেখায়, কিন্তু শুধুমাত্র একটি অ্যাপ সাম্প্রতিক অ্যাক্সেসের উৎস হিসেবে দেখায়, এমনকি যখন 1 টিরও বেশি অ্যাপ পূর্ববর্তী 15 সেকেন্ডের সময়-ফ্রেমের মধ্যে ডেটা অ্যাক্সেস করে। ব্যবহারকারী বিজ্ঞপ্তি ডায়ালগ খারিজ না করা পর্যন্ত অ্যাক্সেস ভিউ হিমায়িত থাকে।
বিতরণ এবং সক্ষম করুন
PermissionManager
ক্লাস ডায়ালগ পপুলেট করার একটি পদ্ধতি প্রদান করে, যা সিস্টেম UI-তে থাকে।
- সিস্টেম UI একটি ডিভাইস কনফিগারেশন সুইচের প্রতি প্রতিক্রিয়া জানায়:
privacy/mic_camera_indicators_enabled
। - সুইচটি প্রয়োজনীয় কারণ এই ক্রমে দুটি পৃথক ডেলিভারি যান রয়েছে:
- ডেলিভারি।
- সক্ষম করুন।
- যদি
PermissionManager
থাকা পদ্ধতিটি প্রয়োজনীয় ডেটা সরবরাহ করতে না পারে তবে সিস্টেম UI অবশ্যই ক্র্যাশ হবে না।
প্রক্রিয়া প্রবাহ
অনুমতি সূচক কার্যকারিতা তিনটি প্রধান অংশ আছে:
- অ্যাপস
- সূচক (SystemUI দ্বারা পরিচালিত)
- কোন অ্যাপগুলি ডেটা ব্যবহার করছে তা নির্ধারণ করার একটি উপায়
PermissionController
কোন অ্যাপগুলি ডেটা ব্যবহার করছে তা নির্ধারণ করার পদ্ধতি প্রদান করে। SystemUI ব্যক্তিগত ডেটা ব্যবহার করে অ্যাপের জন্য শোনে। SystemUI উপরের নেভিগেশন বারে একটি আইকন দেখায় যা ব্যবহৃত অনুমতিগুলির সাথে মিলে যায়। যখন একজন ব্যবহারকারী একটি আইকনে ক্লিক করে তখন PermissionController
ব্যবহার সম্পর্কে ডেটা প্রদর্শন করে।
চিত্র 3. সিস্টেমের উপাদান এবং (UI) রূপান্তর প্রবাহ
চিত্র 3- এ সংখ্যাযুক্ত রূপান্তরগুলি নীচে বর্ণিত হয়েছে:
1- একটি অ্যাপ সিস্টেম থেকে ব্যক্তিগত ডেটার অনুরোধ করে।
2- সিস্টেম অনুমতি পরীক্ষা করে। অনুমতিগুলি অনুমোদিত হলে, সিস্টেম ডেটা প্রদানকারীকে অবহিত করে এবং অ্যাপ-অপসে ব্যবহার নোট করে
3- ডেটা প্রদানকারী অ্যাপটিতে ডেটা দেয়।
4-5 ব্যবহারকারী আইকনগুলিতে ক্লিক করে। সিস্টেম UI PermissionManager
থেকে ডেটা অনুরোধ করে এবং ব্যবহারকারীর কাছে ডায়ালগ উপস্থাপন করে।
প্রক্রিয়া বিবরণ
- অ্যাপগুলি মাইক্রোফোন এবং ক্যামেরা ব্যবহার করে,
AppOpsManager.startOp
,stopOp
, এবং (বা)noteOp
কল করে৷ এটি সিস্টেম সার্ভারে অ্যাপ-অপ রেকর্ড তৈরি করে। - সিস্টেম UI
AppOpsManager.OnOpActiveChangedInternalListener
এবংOnOpNotedListener
শ্রোতাদের ব্যবহার করে নতুন অ্যাপ-অপগুলির জন্য শোনে। যখন একটি নতুন ব্যবহার আসে (startOp
বাnoteOp
এ একটি কলের মাধ্যমে), সিস্টেম UI যাচাই করে যে ব্যবহারটি একটি সিস্টেম অ্যাপ দ্বারা হয়েছে৷ - যদি সিস্টেম UI সিস্টেম অ্যাপের ব্যবহার যাচাই করে, এবং যদি ব্যবহার মাইক্রোফোনের জন্য হয়, তাহলে সিস্টেম UI চেক করে যে মাইক্রোফোনটি নিঃশব্দ আছে কিনা।
- যদি সিস্টেম UI অ-সিস্টেম অ্যাপ ব্যবহার যাচাই করে, (এবং, মাইক্রোফোন ব্যবহারের জন্য, মাইক্রোফোনটি আনমিউট করা হয়েছে; ক্যামেরা ব্যবহারের জন্য, ক্যামেরাটি টগল করা আছে), এটি এই ধরনের ব্যবহার প্রতিফলিত করে এমন একটি আইকন দেখায়।
যদি সিস্টেম UI একটি noteOp
পায়, যার কোনো সময়কাল নেই, এটি অন্তত 5 সেকেন্ডের জন্য আইকন দেখায়৷ অন্যথায়, আইকনটি দেখায় যতক্ষণ না এটি একটি stopOp
প্রাপ্ত হয়, অথবা 5 সেকেন্ডের জন্য, যেটি দীর্ঘ হয়। একটি আইকনে ক্লিক করা ব্যবহারকারী একটি অভিপ্রায় শুরু করে যা ডায়ালগ শুরু করতে PermissionController
যায়।
PermissionController
মাইক্রোফোন এবং ক্যামেরার জন্য সমস্ত সাম্প্রতিক ব্যবহার লোড করে। এটি পরীক্ষা করে যে সেগুলির মধ্যে কোনটি চলছে কিনা, বা সিস্টেম UI দ্বারা সেট করা সময়সীমার মধ্যে চলছে। যদি এটি একটি মিল খুঁজে পায়, তবে এটি সেই অ্যাপটির নাম প্রদর্শন করে যেটি অনুমতি ব্যবহার করেছে এবং কোন অ্যাপটি ব্যবহার করেছে।
Android 12 এবং উচ্চতর সংস্করণে এই পরিবর্তনের কারণে, কিছু অ্যাপকে হয় তাদের আচরণ পরিবর্তন করতে হবে বা বিশেষ আচরণ প্রয়োগ করতে হবে।
Android Google অনুসন্ধান অ্যাপ (AGSA) এবং Google Mobile Services (GMS) এর সাথে কাজ করার সময় টেলিফোনিকে অবশ্যই অনুমতি ব্যবহার (ফোন কলে ব্যবহৃত পৃথক মাইক্রোফোন স্ট্যাকের জন্য অ্যাকাউন্টে) প্রয়োগ করতে হবে।