Kā automātiski atspējot liela apjoma brīdinājumu bez saknes

Apmācība par to, kā atspējot brīdinājumu par lielu skaļumu vai drošu audio, kas ir nepieciešams ierīcēs, kuras pārdod ES. Tas darbojas visās ierīcēs bez saknes.

Tie no jums, kas dzīvo kādā no Eiropas Savienības dalībvalstīm, iespējams, ir saskārušies ar brīdinājumu, mēģinot palielināt austiņu skaļumu, kā parādīts iepriekš redzamajā funkcijas attēlā.

Saskaņā ar Eiropas Elektrotehniskās standartizācijas komitejas (CENELEC) noteiktajiem noteikumiem visas elektroniskās ierīcēm ar multivides atskaņošanu, kas pārdotas pēc 2013. gada februāra, noklusējuma izvades skaļuma līmenim jābūt ne vairāk kā 85 dB. Lietotāji var izvēlēties ignorēt brīdinājumu, lai palielinātu skaļumu līdz maksimāli 100 dB, taču, to darot, brīdinājumam atkārtoti jāparādās pēc 20 mūzikas atskaņošanas stundām.

Lai gan mēs neiesaistīsimies debatēs par šīs regulas efektivitāti labā veicināšanā veselību, lietotāji, kuri bieži izvēlas apiet šo brīdinājumu, bieži domā, vai šis process var būt automatizēti. Ir daudz gadījumu, kad ir diezgan kaitinoši manuāli piekrist skaļuma ierobežojuma ignorēšanai, piemēram, kad sākat mūzikas atskaņošanu attālināti Bluetooth ierīcē, tāpēc mēs vēlējāmies izdomāt veidu, kā to automātiski apiet brīdinājums.

Risinājumi, kā apiet "drošo skaļuma ierobežojumu", jau pastāv, ja meklējat mūsu forumos, taču līdz šim visiem risinājumiem ir bijis nepieciešams uzstādīt Xposed Modulis. Tas noteikti ierobežo to, kas to var izmantot, jo Xposed Framework pieprasa, lai jums ir root piekļuve (kas nozīmē atbloķētu sāknēšanas ielādētāju lielākajā daļā tālruņu), kā arī jābūt Android versijām, kas ir pirms Nougat. Bet pēc iedziļināšanās AOSP un dažādos sistēmas iestatījumos esmu atklājis veidu, kā apiet liela skaļuma/droša audio ierobežojumu visās ierīcēs, neprasot root.

Ievērojot šo rokasgrāmatu, jūs uzņematies visus riskus, kas saistīti ar multivides klausīšanos lielā skaļumā.


Droša audio brīdinājuma apiešanas apmācība

Ja esat izlasījis manu iepriekšējo rakstu par iespējot ieskaujošo režīmu bez root piekļuves, iespējams, esat sācis spēlēties ar dažiem tālrunī paslēptiem iestatījumiem. Ja vēl neesat to izdarījis, es ļoti iesaku to darīt, jo esmu atklājis, ka gandrīz katrā ierīcē ir daudz labuma, kas tikai gaida, lai tās tiktu atklātas. Šis triks neatšķiras, jo mēs izmantosim sistēmas īpašumu, lai apietu drošu audio brīdinājumu.

Konkrēti, mēs pārveidosim sistēmu. Globālais īpašums audio_safe_volume_state gan sāknēšanas laikā, gan periodiski, lai Android vienmēr uzskatītu, ka esat piekritis brīdinājuma apiešanai. Šis īpašums ir definēts AOSP, ko mēs atkārtojam tālāk. Šim īpašumam var būt vairāki stāvokļi, sākot no 0 līdz 3. 30 sekundes pēc sāknēšanas vai pēc katrām 20 stundām nepārtrauktas mūzikas atskaņošanas statuss tiek iestatīts uz “0” vai “nav konfigurēts”. Pēc tam atkarībā no jūsu Mobilā valsts kods. Ja dzīvojat ES, šis rekvizīts pēc noklusējuma ir iestatīts uz “3”, bet tiek mainīts uz “2” iestatījumam “neaktīvs”, kad lietotājs manuāli apiet skaļuma brīdinājumu. Mēs mainīsim šī īpašuma vērtību uz neaktīvo stāvokli (Man nekad nav izdevies mainīt to uz “invalīds”, ja jums rodas jautājums).


//
// Safe media volume management.
// MUSIC stream volume level is limited when headphones are connected according to safety
// regulation. When the user attempts to raise the volume above the limit, a warning is
// displayed and the user has to acknowlegde before the volume is actually changed.
// The volume index corresponding to the limit is stored in config_safe_media_volume_index
// property. Platforms with a different limit must set this property accordingly in their
// overlay.
//
// mSafeMediaVolumeState indicates whether the media volume is limited over headphones.
// It is SAFE_MEDIA_VOLUME_NOT_CONFIGURED at boot time until a network service is connected
// or the configure time is elapsed. It is then set to SAFE_MEDIA_VOLUME_ACTIVE or
// SAFE_MEDIA_VOLUME_DISABLED according to country option. If not SAFE_MEDIA_VOLUME_DISABLED, it
// can be setto SAFE_MEDIA_VOLUME_INACTIVE bycalling AudioService.disableSafeMediaVolume()
// (when user opts out).
privatefinalint SAFE_MEDIA_VOLUME_NOT_CONFIGURED = 0;
privatefinalint SAFE_MEDIA_VOLUME_DISABLED = 1;
privatefinalint SAFE_MEDIA_VOLUME_INACTIVE = 2;
privatefinalint SAFE_MEDIA_VOLUME_ACTIVE = 3;
private Integer mSafeMediaVolumeState;
privateint mMcc = 0;
// mSafeMediaVolumeIndex is the cached value of config_safe_media_volume_index property
privateint mSafeMediaVolumeIndex;
// mSafeMediaVolumeDevices lists the devices for which safe media volume is enforced,
privatefinalint mSafeMediaVolumeDevices = AudioSystem.DEVICE_OUT_WIRED_HEADSET |
AudioSystem.DEVICE_OUT_WIRED_HEADPHONE;
// mMusicActiveMs is the cumulative time of music activity since safe volume was disabled.
// When this time reaches UNSAFE_VOLUME_MUSIC_ACTIVE_MS_MAX, the safe media volume is re-enabled
// automatically. mMusicActiveMs is rounded to a multiple of MUSIC_ACTIVE_POLL_PERIOD_MS.
privateint mMusicActiveMs;
privatestaticfinalint UNSAFE_VOLUME_MUSIC_ACTIVE_MS_MAX = (20 * 3600 * 1000); // 20 hours
privatestaticfinalint MUSIC_ACTIVE_POLL_PERIOD_MS = 60000; // 1 minute polling interval
privatestaticfinalint SAFE_VOLUME_CONFIGURE_TIMEOUT_MS = 30000; // 30s after boot completed

Lasīt vairāk

Vispirms jums būs jāinstalē Tasker un AutoTools lai mēs varētu automatizēt šo triku. Tehniski var izmantot jebkuru citu automatizācijas lietotni, izņemot Tasker, taču es esmu iepazinies tikai ar Tasker, tāpēc jums būs jāveic pielāgojumi, ja vēlaties izmantot citu lietotni. Tomēr AutoTools ir ļoti svarīgs šim trikam, jo ​​šis spraudnis ļaus mums kontrolēt mūsu ierīces drošos iestatījumus.

Kā paskaidrots manā rakstā par iekļaujošā režīma pārslēgšanu, mums ir jāpiešķir WRITE_SECURE_SETTINGS atļauja AutoTools. Tas ir tāpēc, ka komanda droša audio skaļuma stāvokļa kontrolei ir definēta zem Iestatījumi. Globāli klasē, lai gan precīza komandas sintakse ir paslēpta AOSP (tāpat kā tas bija ieskaujošajam režīmam). Ja esat jau piešķīris WRITE_SECURE_SETTINGS atļauju automātiskajiem rīkiem pēc manas iepriekšējās apmācības par ieskaujošo režīmu izlasīšanas, varat izlaist nākamo sadaļu. Ja nē, tad jums tas būs jāiestata.


Android atļauju pārvaldības sistēmā lietojumprogrammas definē atļaujas, kuras tās vēlas piešķirt manifesta failā. Pēc tam lietotāji var piešķirt vai liegt atļaujas instalēšanas laikā (pirms Marshmallow) vai pēc pieprasījuma (Marshmallow+). Tomēr ir noteiktas atļaujas, kuras lietojumprogrammām nevar piešķirt pat tad, ja tās to pieprasa Manifestā, piemēram, WRITE_SECURE_SETTINGS. Tas ir tāpēc, ka, piešķirot jebkurai lietojumprogrammai tik jaudīgu atļauju, šī lietotne varētu kontrolēt jūsu ierīci.

Taču ir viens risinājums, ko varam izmantot, lai piešķirtu WRITE_SECURE_SETTINGS atļauju jebkurai vēlamajai lietotnei. Izmantojot ADB pakotņu pārvaldnieks (pm) rīku, mēs varam piešķirt jebkādu atļauju jebkurai lietojumprogrammai, kuru vēlamies (ja lietojumprogramma pieprasa šo atļauju manifesta failā).

Pirmā lieta, kas jums jādara, ir instalējiet ADB bināro failu datorā, kam seko pareizais draiveris jūsu ierīcei. Pēc tam izstrādātāja opcijās iespējojiet USB atkļūdošanu (dodieties uz Iestatījumi -> Par tālruni un 7 reizes pieskarieties Būvējuma numuram, ja vēl neesat to izdarījis) un savienojiet tālruni ar datoru. Visbeidzot, kad esat atvēris termināli, nosūtiet šādu komandu:

adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS

Tagad AutoTools varēs mainīt jebkuru globālo, drošo vai sistēmas iestatījumu jūsu ierīcē. Ir dažādi veidi, kā varat spēlēt ar šiem iestatījumiem un pieejamo iestatījumu sarakstu katra kategorija pilnībā ir atkarīga no jūsu ierīces un programmatūras versijas, taču šī diskusija ir par citu laiks. Jebkurā gadījumā mēs parādīsim, kā izmantot AutoTools, lai kontrolētu drošā skaļuma stāvokli.


Droša audio brīdinājuma atspējošana sāknēšanas laikā

Lūk, profila apraksts tiem no jums, kuri ir pazīstami ar Tasker. Ja neesat pazīstams ar Tasker, lasiet tālāk, lai iegūtu detalizētus norādījumus.

Atspējojiet drošu audio sāknēšanas laikā

Profile: Disable Safe Audio On Boot (6)
Event: Monitor Start
Enter: Anon (7)
A1: Wait[ MS: 0 Seconds: 30 Minutes: 0 Hours: 0 Days: 0 ]
A2: AutoTools Secure Settings [ Configuration: Setting Type: Global
Name: audio_safe_volume_state
Input Type: Int
Value: 2 Timeout (Seconds):60 ]

Lasīt vairāk

Atveriet Tasker, lai mēs varētu izveidot jaunu profilu. Apakšējā labajā stūrī pieskarieties + ikonu, lai izveidotu jaunu profilu. Pievienojiet jaunu Pasākums kontekstā un dodieties uz Tasker -> Monitor Start. Mēs izmantojam šo notikuma kontekstu, kas tiek aktivizēts, kad Tasker tiek palaists, nevis notikumu kontekstu, kas tiek aktivizēts, kad tālrunis tiek palaists, jo pirmais ir daudz uzticamāks nekā otrais.

Jebkurā gadījumā nospiediet pogu Atpakaļ, jo mēs tagad izveidosim ar šo profilu saistītu uzdevumu. Nosauciet uzdevumu jebko, jo tam nav nozīmes. Kad esat atvēris uzdevumu izveides ekrānu, nospiediet + ikonu ekrāna apakšējā vidū, lai izveidotu jaunu darbību. Lai veiktu pirmo darbību, dodieties uz Uzdevums -> Pagaidiet un lieciet to gaidīt 30 sekundes. Tas attiecas uz kārtulu “30 sekundes pēc sāknēšanas”, ko izmanto operētājsistēmā Android, lai iestatītu drošā skaļuma stāvokli.

Pēc tam izveidojiet jaunu darbību un dodieties uz Spraudnis -> Automātiskie rīki -> Droši iestatījumi. Nospiediet zīmuli, lai atvērtu AutoTools konfigurācijas ekrānu. Iet uz Pielāgots iestatījums. Iestatījuma veidam ievadiet Globāli. Nosaukumam ievadiet audio_safe_volume_state. Ievades veidam izveidojiet to starpt. Izdariet to Vērtības dēļ 2. Pārbaudiet, vai viss ir ievietots pareizi, konfigurācijai jāatbilst tālāk redzamajam vidējam ekrānuzņēmumam. Komanda ir jānosūta tieši tā kā jau rakstīju, pretējā gadījumā tas neietekmēs.

Kad esat pabeidzis, atgriezieties Tasker galvenajā izvēlnē, jo mums būs jāizveido cits profils. Tas, kuram mēs tikko izveidojām kontus, kad drošā skaļuma stāvoklis ir iestatīts 30 sekundes pēc sāknēšanas, bet kuram tie no jums, kuri gandrīz nekad neatsāknē ierīci, mēs izveidosim citu profilu, lai periodiski to iestatītu vērtību.


Periodiski atspējojiet drošu audio brīdinājumu

Lūk, profila apraksts tiem no jums, kuri ir pazīstami ar Tasker. Ja neesat pazīstams ar Tasker, lasiet tālāk, lai iegūtu detalizētus norādījumus.

Periodiski atspējojiet drošu audio

Profile: Disable Safe Audio Periodically (21)
Time: 11:59PM
Enter: Anon (122)
A1: AutoTools Secure Settings [ Configuration: Setting Type: Global
Name: audio_safe_volume_state
Input Type: Int
Value: 2 Timeout (Seconds):60 ]

Lasīt vairāk

Izveidojiet jaunu profilu, šoreiz ar a Laiks kontekstā. Diemžēl es nezinu nevienu metodi, kā iegūt pašreizējo kumulatīvo multivides atskaņošanas laiku bez tā saknes, tāpēc mēs tikai periodiski iestatīsim drošā skaļuma stāvokli uz neaktīvu reizi 24 stundās (... nav tā, ka jūs, puiši, klausāties 20 stundas mūzikas 24 stundu laikā, vai ne?). Jebkurā gadījumā Tasker interfeiss periodiska uzdevuma iestatīšanai ir drausmīgs, taču tā būtība ir tāda, ka vēlaties iestatīt laiku "No" un "Līdz". Tādā veidā Tasker izturēsies pret to tā, it kā jūs vēlētos, lai uzdevums tiktu aktivizēts tikai vienu reizi noteiktā laikā (es to izdarīju 1 minūti pirms pusnakts).

Kas attiecas uz uzdevumu, vienkārši kopējiet to, ko veicāt 2. darbībai iepriekšējā profilā. Šajā gadījumā nav jaunas vai atšķirīgas darbības, jo mēs tikai mainām šī globālās sistēmas rekvizīta vērtību reizi 24 stundās.

Tagad, kad esat iestatījis abus šos profilus, esat pabeidzis! Restartējiet tālruni un tagad, pievienojot austiņas, vairs nevajadzētu redzēt brīdinājumu par drošu skaļumu.


Lejupielādējiet un importējiet uz Tasker

Kā vienmēr, mēs piedāvājam skriptu XML failu, ko varat lejupielādēt un importēt. Vienkārši lejupielādējiet failus no tālāk esošās saites un saglabājiet tos jebkurā vietā savā iekšējā atmiņā. Atveriet Tasker un atspējojiet iesācēja režīmu sadaļā Preferences. Pēc tam atgriezieties galvenajā ekrānā un ilgi nospiediet cilni “Profils” augšpusē. Jums vajadzētu redzēt uznirstošo logu ar vienu no opcijām “Importēt”. Pieskarieties tam un atrodiet vietu, kur saglabājāt .prf.xml failus, un atlasiet importējamo failu. Atkārtojiet to otrajam profilam.

Lejupielādējiet profilu “Atspējot drošu audio brīdinājumu sāknēšanas laikā”.

Lejupielādējiet profilu “Periodiski atspējot drošu audio brīdinājumu”.

Mēs ceram, ka šis padoms jums noderēs. Paziņojiet mums tālāk esošajos komentāros, ja tas jums noder!