შენიშნეთ, რომ თქვენს Android-ზე ხმის დიალოგის გაქრობას 20 წამი სჭირდება, თუ ეკრანს ხელით არ შეეხებით? აი რატომ ხდება ასე.
შეგიმჩნევიათ, რომ ხმის დიალოგს, რომელიც გამოჩნდება ხმის ღილაკების დაჭერისას, ცოტას იღებს ძალიან დიდხანს გაქრება თავისით? როდესაც პირველად მიიღებთ თქვენს Android ტელეფონს, ხმის დიალოგი ავტომატურად გაუქმდება რამდენიმე წამის შემდეგ თქვენი ჩარევის გარეშე. შემდეგ, გასული დღეების, კვირების ან თვეების განმავლობაში, დიდი დრო დასჭირდება მის გაქრობას, თუ არ შეეხებით თქვენს ეკრანს. თუ თქვენ განიცდით ამ პრობლემას და ის გაღიზიანებთ, თქვენ მარტო არ ხართ.
ამ სტატიაში ჩვენ ვაპირებთ ავხსნათ რა ხდება და რატომ ხდება ეს, ასე რომ თქვენ შეგიძლიათ თავად მოაგვაროთ პრობლემა ან გაუგზავნოთ ეს სტატია დეველოპერს, რათა მათ შეძლონ მისი გამოსწორება. მოდით, ჯერ ზუსტად აღვწეროთ რა არის პრობლემა, რათა ცხადი იყოს, ჩვენ ვგულისხმობთ იმავე პრობლემას, რომელსაც თქვენ აწყდებით.
Პრობლემა
თქვენ დააჭირეთ ხმის ღილაკს თქვენს Android სმარტფონზე ან პლანშეტზე, რომ შეცვალოთ ხმა, მაგრამ ხმა დიალოგს, რომელიც გამოჩნდება, დიდი დრო სჭირდება თავისთავად გაქრობას, თუ არ შეეხებით ეკრანს მის გასაკეთებლად გაქრება. რამდენ ხანს რჩება ხმის დიალოგი თავისით? ზუსტად 20 წამი.
კრედიტები: /u/ConeCandy
პოპულარული თემა Reddit-ის /r/-ზეGooglePixel subreddit-ს ჰყავდა ბევრი მომხმარებელი, რომელიც ამ პრობლემის წინაშე დგებოდა. თუმცა, ყველას არ ჰქონდა ეს პრობლემა. ზოგიერთმა მომხმარებელმა განაცხადა, რომ მათი ხმის დიალოგები ეკრანზე დარჩა მხოლოდ 3 წამის განმავლობაში, რაც ნორმალური ქცევაა. ასე რომ, რამ გამოიწვია ეს საკითხი? ამ თემის მომხმარებლების უმეტესობისთვის, თურმე მიზეზი იყო აპი სახელწოდებით Signal Spy - თუმცა ამ თემის ზოგიერთმა მომხმარებელმა თქვა, რომ სხვა აპებიც იწვევდნენ ამ ქცევას.
ფასი: უფასო.
3.9.
Signal Spy არის აპლიკაცია, რომელიც პოპულარულია Google-ის Project Fi სერვისის აბონენტებს შორის. Project Fi მომხმარებლებს უყვართ აპლიკაცია, რადგან ის მხარს უჭერს თქვენი მიმდინარე ქსელის კავშირის ანალიზს და მხარს უჭერს ავტომატურ გადართვას Sprint-სა და T-Mobile-ს შორის. Საუკეთესო ნაწილი? მას არ სჭირდება root წვდომა ქსელებს შორის გადასართავად. Signal Spy იყენებს Accessibility Service (სერვისი, რომელიც იყენებს Android-ის Accessibility API-ებს, რომლებიც ჩვეულებრივ გამოიყენება მომხმარებლების დასახმარებლად შეზღუდული შესაძლებლობის მქონე, მაგრამ ასევე გამოიყენება ასობით რეგულარულ აპლიკაციაში) ოპერატორებს შორის ავტომატურად გადართვისთვის აკრიფეთ კოდის შეყვანით მალსახმობები.
Signal Spy-ის უნარი Project Fi-ზე ოპერატორებს შორის ავტომატურად გადართვის შესაძლებლობა წარმოუდგენლად სასარგებლოა, მაგრამ ეს არის Android-ის ხმის დიალოგის პრობლემის მიზეზიც. Signal Spy-სა და სხვა აპებს შორის, როგორიცაა LastPass, Fingerprint Gestures, Zoho Vault, Amazon Assistant და სხვა აპები, რომლებიც ამ პრობლემას იწვევს, არის ის, რომ ისინი გამოიყენეთ ხელმისაწვდომობის სერვისი. პარამეტრებზე --> ხელმისაწვდომობაზე გადასვლა და თითოეული ხელმისაწვდომობის სერვისის სათითაოდ გამორთვა ამ პრობლემის გადაჭრის ერთ-ერთი გზაა. მაშ, რატომ იწვევს ამ პრობლემას მხოლოდ ზოგიერთი აპლიკაციის ხელმისაწვდომობის სერვისი? ტასკერიმაგალითად, ეს პრობლემა არ დგას და არც ჩვენი ნავიგაციის ჟესტები აპლიკაცია. თქვენ და სხვა ბევრი სხვა Google Issue Tracker შეიძლება იფიქროს, რომ ეს შეცდომაა, მაგრამ სინამდვილეში ასე არ არის - ეს მთლიანად დიზაინით.
ახსნა
როგორც ნავიგაციის ჟესტების აპის შემუშავებისას აღმოვაჩინეთ, პრობლემა წარმოიქმნება, როდესაც ხელმისაწვდომობის სერვისს აქვს ხელმისაწვდომობა უკუკავშირის ტიპი დააყენეთ FEEDBACK_GENERIC-ის გარდა. როდესაც ჩვენ ვაყენებთ ჩვენს ხელმისაწვდომობის სერვისს, რომ გამოიყენოს FEEDBACK_HAPTIC, ხმის დიალოგი ეკრანზე 20 წამის განმავლობაში დარჩება. როდესაც მას ვაყენებთ FEEDBACK_GENERIC-ზე, ხმის დიალოგი ეკრანზე რჩება 3 წამის განმავლობაში.
ამის მიზეზი არის ორი მეთოდის გამო მოცულობის დიალოგის განხორციელება AOSP-ში. პირველი მეთოდი, სახელწოდებით computeFeedbackEnabled, ამოწმებს, არის თუ არა ჩართული ხელმისაწვდომობის სერვისები, რომლებიც არის „არაზოგადი“. თუ მართალია, მაშინ ლოგიკური mFeedbackEnabled დაყენებულია ჭეშმარიტად. მეორე მეთოდით, computeTimeoutH, თუ mFeedbackEnabled დააბრუნებს true, მაშინ ხმის დიალოგის დრო დაყენებულია 20 წამზე, წინააღმდეგ შემთხვევაში დაყენებულია 3 წამზე.
ესენიმეთოდები დამატებულია Android 6.0 Marshmallow-ის გამოშვებაში და, ამრიგად, მოცულობის დიალოგის ეს საკითხი გავლენას ახდენს Android Marshmallow-ის ყველა გამოშვებაზე, მათ შორის Android Nougat, Android Oreo და Android Pie. მთლად დარწმუნებული არ ვართ რატომ ეს მეთოდები დაემატა, რადგან ვალდებულებების აღწერილობები არ იყო ნათელი. თუ საფრთხის გამოცნობა მომიწევდა იმის შესახებ, თუ რატომ არსებობს ეს ქცევა, მე ვიტყოდი, რომ ეს არის მომხმარებლების დახმარება გარკვეული შეზღუდული შესაძლებლობის მქონე ამუშავებს ხმის დიალოგს ხმით ან სხვა შეყვანით, რადგან ნაგულისხმევი 3 წამის დრო ძალიან მოკლეა მათთვის. თუ Android აღმოაჩენს, რომ მომხმარებელი იყენებს გარკვეული ტიპის ხელმისაწვდომობის სერვისს, ის ავტომატურად აგრძელებს ხმის დიალოგის ხანგრძლივობას, რათა მომხმარებელს ჰქონდეს მასთან ურთიერთობის უკეთესი შანსი. მიუხედავად ამისა, ცხადია, რომ ეს საკითხია არა ხარვეზი მაგრამ საკმაოდ მთლიანად დიზაინით. სამწუხაროდ, ეს ნიშნავს, რომ არ არსებობს რაიმე „გამოსწორება“ იმ საკითხზე, რომელიც არ დაარწმუნებს Google-ს შეცვლაზე ეს გადაწყვეტილება ან დაარწმუნოს აპლიკაციის დეველოპერები, რომ არ გამოიყენონ არაგენერიული გამოხმაურების ტიპები მათ ხელმისაწვდომობაში სერვისები.
Signal Spy-ის დეველოპერებმა უკვე დაადასტურეს, რომ მათ მოაგვარეს პრობლემა მომდევნო ბეტა გამოშვებაში, ასე რომ, თუ თქვენ განიცდით პრობლემას და გსურთ ნახოთ თუ არა მოგვარებულია, თქვენ უნდა მიუთითოს აპლიკაციის დეველოპერები ამ სტატიისკენ, რათა მათ იცოდნენ პრობლემის შესახებ (რადგან ბევრმა არ იცის.) თუ Android-ის მომავალი ვერსია შეცვლის ამ ქცევას, ჩვენ ყველას მოგცემთ ნებას ვიცი. ყოველ შემთხვევაში, ახლა თქვენ იცით ამ პრობლემის შესახებ და რა იწვევს მას, ასე რომ თქვენ გაარკვიეთ რომელი აპები იწვევს ამ პრობლემას თქვენთვის.