Herhangi Bir Cihazda Ekran Kapalıyken 'OK Google' Özel Kelime Algılamayı Çalışmaya Zorlama [Kök]

Bu, root erişimli herhangi bir cihazın, donanımı bu özelliği desteklemese bile, OK Google özel kelime algılamayı etkinleştirmeye nasıl zorlanacağıyla ilgili bir eğitimdir!

Moto X (2013) ilk duyurulduğunda en heyecan verici özelliklerden biri (Ambiyans Gösterimi dışında) sesli komutlarla uyanma yeteneğiydi.

Daha sonra Google Nexus cihazlarında tanıtılan ve artık birçok amiral gemisinde bulunan özel kelime tanıma özelliği, Cihazınızdaki cihazla uğraşmadan hızlı bir Google araması yapmanız gerektiğinde kullanabileceğiniz oldukça harika bir özellik eller. Bu, telefonunuzu arabanıza yerleştirdiğinizde ve belirli bir varış noktasına doğru navigasyonu başlatmanız gerektiğinde son derece yararlı olabilir. Google Haritalar navigasyonunu başlatmak için sesinizi kullanmak, diğer alternatiflerden çok daha güvenlidir.

Ne yazık ki, "OK Google" komutlarını her zaman tetikleyebilmek, cihazınızda özel, düşük güçlü bir ses tanıma çipi gerektirir. Bu donanım birçok cihazda mevcut olmakla birlikte hepsinde mevcut değildir. Huawei Mate 9 gibi güçlü ve pahalı amiral gemileri bile bu teklifi sunmuyor. Benimki gibi cihazlar için Google, ekran açıkken veya cihaz şarj cihazına takılıyken "OK Google" sesli komutlarını tetikleme olanağı sunuyor.

Birkaç yıl önce şöyle bir başvuru vardı: Google Now için Mic+'ı açın bir arka plan hizmetinin her zaman sesli komutları dinlemesini etkinleştirme seçeneğine sahipti. Ne yazık ki Google, geliştiriciden hizmeti kullanmayı bırakmasını talep etti ve geliştiricinin artık bu uygulamayı destekleyecek zamanı kalmadığından uygulama bir kenara bırakıldı. Mevcut tek seçenek kullanmaktır Otomatik Ses, popüler bir Tasker eklentisidir, ancak bu, belirli komutlara yanıt verecek profiller oluşturmak için yeterli Tasker bilgisine sahip olmanızı gerektirir.

Google'ın ses tanıma hizmetine güvenmeyi tercih edenler için geçici bir çözüm buldum: Root erişimli herhangi bir cihazda, donanımı desteklemese bile "OK Google" özel kelime tespitini etkinleştirir. Var iki uyarı Aşağıda ayrıntılı olarak tartışacağımız bu numaraya.


Herhangi Bir Cihazda "OK Google" Özel Kelime Algılama

Bu soruna geçici bir çözüm düşünürken kendime sorduğum soru şuydu:

Cihazımı, komutumla özel kelime tanıma hizmetini etkinleştirmesi için nasıl kandırabilirim?

Mevcut telefonum, ekran kapalıyken özel kelime algılamayı doğal olarak desteklemediğinden, bu işlemin çalışmasını sağlayacak tek koşul, telefonumun ekranının açık olması veya şarj olması olacaktır. Doğal olarak, amacım özel kelime algılamayı her zaman etkinleştirmek olduğundan (ekran kapalıyken bile), ekranın açık olması bu amacı boşa çıkaracaktır. Cihazımı fişe takılı bırakmak da benim çabam açısından anlamsız olurdu, ama ya yapabilseydim kandırmak cihazım bu iki koşuldan herhangi birini karşılıyor mu?

Neyse ki, biraz root büyüsü ve hata ayıklama komutlarının akıllıca kullanılmasıyla bu çok mümkün! Test amaçlı bir hata ayıklama kabuğu komutunu kullanarak şunları yapabiliyorum: cihazımı şarj olduğunu düşünmesi için kandırmak herhangi bir güç kaynağına bağlı olmasa bile. Amaçlarımız doğrultusunda kullanacağımız komut: dumpsys battery, hakkında okuyabileceğiniz parametreler Bu blog yazısı Roman Mazur tarafından yazılmıştır.

Not: Bu hile tamamen güvenli gerçekleştirmek. Belirtildiği gibi, bu komut yalnızca cihazınızı şarj olduğunu düşünmesi için kandırır. Pil izleme uygulamaları aksini söylese bile aslında şarj DEĞİLDİR (bunun nedeni, bu uygulamaların yanlış bilgilerle beslenmesidir.)

Özellikle dikkat edilmesi gereken nokta dumpsys battery set Cihazın şu anda AC, USB veya kablosuz şarj yoluyla şarj edilip edilmediğini ayarlamak için parametreleri kabul eden komut. Örneğin, Android'de bir kök kabuk açarsak ve aşağıdaki komutu girersek, cihaz AC gücüyle şarj edildiğini düşünecektir.

su
dumpsys battery set ac 1

Bu komutu (veya USB/kablosuz şarj komutunu) ayarlayarak artık şunları yapabileceksiniz: ekranınız kapalıyken Tamam Google komutlarını tetikleyin. Bunun nedeni, tüm niyet ve amaçlar doğrultusunda, cihazınızın "şarj olması" ve Google'ın özel kelime tanıma hizmetinin etkinleştirilmesine yönelik gereksinimleri karşılamasıdır.

Bu, hata ayıklamaya yönelik bir komut olduğundan (temel olarak geliştiricilerin farklı pil koşulları altında işlevselliği test etmesi amaçlanır), bu şekilde kullanıldığında bazı dezavantajlara sahiptir. Özellikle daha sonra ele alacağımız iki dezavantaj. İlk dezavantajın çözümü oldukça önemsizdir, ancak ikinci dezavantaj için aynı şey söylenemez.

Dezavantaj #1 - Donmuş Pil Göstergesi

Herhangi bir "dumpsys pil seti" komutunu girdikten sonra, Android'in BatteryManager hizmeti toplamayı derhal bırakın Pil durumunuzla ilgili diğer veriler. Bu, pil seviyenizin, sıcaklığınızın, akımınızın, voltajınızın ve sağlığınızın artık Android sistemi tarafından raporlanmayacağı anlamına gelir. Bunun yerine, komuta girdiğiniz anda zaman açısından "donmuş" olacaklar.

Ancak bu veriler hala sistem tarafından toplanıyor herhangi bir uygulama tarafından erişilebilir olsa bile. Mevcut pil seviyenizin ne olduğuna dair bir güncelleme almak istiyorsanız, bazı hileler yapmanız gerekecektir. Neyse ki verileri çekmek oldukça kolaydır. Tasker veya başka bir otomasyon uygulamanız varsa tek yapmanız gereken, /sys/class/power_supply/battery/capacity konumunda saklanan geçerli metinle tek dokunuşla güncellenen bir bildirim oluşturmaktır.

Yukarıdaki ekran görüntüsünde pil göstergem (durum çubuğunu aşağı çektiğimde görünüyor) %70'te takılı kaldı, ancak terminalde görebileceğiniz gibi gerçek pil seviyem %69. Bildirim çubuğumda doğru pil seviyesini görmek için bu dosyayı düzenli olarak yoklamak kolay olurdu, ancak bu aksaklığı aşmanın daha da kolay bir yolu var.

Bu özel dezavantajla başa çıkmak aslında inanılmaz derecede önemsiz. Düşünürseniz bu sorun ancak komut etkinleştirildiğinde ve ekran açıkken kendini gösteriyor. Ancak sorun şu ki, ekran açıkken bu komutu etkinleştirmenize gerek yok çünkü varsayılan işlevsellik, ekran açıkken "OK Google" komutlarına erişmenize izin veriyor. Böylece yapmanız gereken tek şey basitçe ekran açıkken bu komutu devre dışı bırakın. Tasker veya başka bir otomasyon uygulamasını kullanmak muhtemelen en basit yol olacaktır. Hileyi devre dışı bırakmak için bu komutu çalıştırmanız yeterlidir:

dumpsys battery reset

Aşağıda, ekran kapalıyken bu komutu çalıştırmak, ancak ekran açıkken devre dışı bırakmak için ayarlamanız gereken iki Tasker profilinin açıklamasını bulacaksınız. Temelde, biri "Ekran Kapalı" Olayı, diğeri "Ekran Kilidi Açılmış" Olayı olan iki "Etkinlik" bağlamı oluşturacaksınız. "Görüntüleme Kapalı" Etkinliği Görevinde tek bir eylem bulunacaktır: Kod-->Kabuğunu şu komutla çalıştır dumpsys battery set ac 1. "Ekran Kilidi Açıldı" Etkinliği Görevinde ayrıca tek bir eylem bulunacaktır: Kod--> Kabuğu şu komutla çalıştır dumpsys battery reset. Böylece Tasker, cihazınızı ekran kapalıyken şarj olduğunu düşünmesi için kandırmak için komutu çalıştıracaktır (profil: Etkinleştir) Özel Kelime Algılama) ve telefonun kilidi açıldığında bu hileyi devre dışı bırakmak için komutu çalıştırın (profil: Özel Kelime Algılamayı Devre Dışı Bırak).

[tabs][tab title ="Özel Kelime Algılamayı Etkinleştir"]

Profile: Enable Hotword Detection (180)
Event: Display Off
Enter: Anon (182)
A1: Run Shell [ Command: dumpsys battery set ac 1Timeout (Seconds):0Use Root:OnStoreOutputIn: StoreErrorsIn: StoreResultIn: ]

[/tab][tab title ="Özel Kelime Algılamayı Devre Dışı Bırak"]

Profile: Disable Hotword Detection (191)
Event: Display Unlocked
Enter: Anon (192)
A1: Run Shell [ Command: dumpsys battery resetTimeout (Seconds):0Use Root:OnStoreOutputIn: StoreErrorsIn: StoreResultIn: ]

[/sekme]

[/sekmeler]

Dezavantaj #2 - Artan Pil Tüketimi

Özel kelime algılamanın her zaman özel bir ortak işlemci gerektirmesinin iyi bir nedeni vardır; aksi takdirde uyanık kalmak zorunda kalan CPU'nun pilinin daha fazla tükenmesine yol açacaktır. Cihazınızı şarj olduğunu düşünmesi için kandırdığınızda bu, cihazın işlemciyi çalışır durumda tutması ve arka planda daha fazla çalışması anlamına gelir çünkü cihazın bir güç kaynağına erişimi olması nedeniyle artan güç tüketiminin önemli olmayacağı varsayımı altındadır.

Ancak burada durum böyle değil, dolayısıyla bu komutun etkinleştirilmesi pil tüketiminin artmasına neden olacaktır. Cihazımı gece boyunca bu durumda bırakma deneyimime göre Mate 9 cihazım boşaldı 8 saat boyunca %12 pil.

Bana göre anlaşmayı bozacak bir şey değil ama bu bazılarınızı caydırabilir. Ne yazık ki bu ikinci dezavantajla başa çıkmanın kolay bir çözümü yok. Yukarıdaki bölümde bahsedilen son paragrafa göre, ekran açıkken komutu devre dışı bırakmak, sorunu biraz hafifletmeye yardımcı olacaktır, ancak yapabileceğiniz tek şey budur.


Çözüm

Umarım bu hileyi faydalı bulursunuz. Kesinlikle herkes için uygun değildir, ancak OK Google özel kelime algılamayı çalışmaya zorlamak istediyseniz ve cihazınızda gerekli donanım yoksa bu geçici çözüm tam size göre.

Bu hilenin iki potansiyel dezavantajını özetledim; bunlardan ilki, mantıklı olduğunda komutu etkinleştirmek/devre dışı bırakmak için bir otomasyon uygulaması kullanılarak çözülebilir. İkinci dezavantaj maalesef donanımınızın her zaman açık olacak şekilde tasarlanmamasından kaynaklanmaktadır. özel kelime algılama, ancak bunu yalnızca gerçekten ihtiyacınız olduğunda kullanırsanız, o zaman çok fazla bir şey olmamalıdır. sorun.

Bu numaraya bir şans verin ve işinize yarayıp yaramadığını aşağıdaki yorumlarda bize bildirin!