En handledning om hur du inaktiverar automatisk uppspelning av Bluetooth på din Android-enhet. Allt du behöver är 5 minuter av din tid och Tasker.
Har du någonsin anslutit din telefon till din favorit Bluetooth-högtalare eller bilsats och upptäckt att applikationer som Google Play Musik, Pandora eller Soundcloud automatiskt börjar spela?
Detta kan vara ganska irriterande för de användare som föredrar att välja sin egen föredragna applikation för medieuppspelning. Tyvärr, om inte just din Bluetooth-enhet tillåter dig att inaktivera automatisk uppspelning, så finns det lite du kan göra för att förhindra att uppspelningskommandot skickas till din enhet.
Om du söker efter lösningar på detta problem på webben kan du ha stött på några sidor som föreslår en ganska grov metod för att lösa detta problem. Det innebär att gå in på inställningssidan för Bluetooth-profiler för varje särskild Bluetooth-enhet och inaktivera medialjudprofilen. Jag kallar detta en "rå" lösning eftersom, även om det förhindrar automatisk uppspelning, måste du manuellt gå tillbaka och återaktivera den här profilen innan du kan använda din Bluetooth-enhet för mediauppspelning igen.
Det finns dock en bättre metod som du kan använda för att lösa detta problem. Om du har läst någon av mina tidigare tutorials, så har du förmodligen redan gissat att detta involverar användningen av Tasker. Den här gången behöver du dock inte använda någon annan applikation/plugin, och lösningen är ganska enkel att implementera även för nybörjare Tasker-användare. Så här kommer det att fungera.
Förstå Bluetooth Autoplay på Android
Vad som i huvudsak händer när du ansluter en Bluetooth-enhet som skickar ett autoplay-kommando är att detta kommando ses som ett KeyEvent för att växla uppspelning/paus i Android. Ansökningar med en MediaButtonReceiver sändningsmottagaren kan sedan reagera på denna Media Button-händelse.
Men om du har flera applikationer som kan reagera på denna avsikt, hur vet Android vilken applikation som faktiskt ska starta uppspelningen? Hur det fungerar är att Android håller reda på den senaste applikationen som begär att få ta emot Media Button-händelser. Alla nya medieapplikationer kan ta över för att lyssna på Media Button-nyckelhändelser genom att ringa setMediaButtonReceiver i AudioManager, och det programmet kommer att hantera Media Button-nyckelhändelser tills ett annat program begär kontroll. Du kan faktiskt se vilken applikation som för närvarande är inställd för att svara på dessa nyckelhändelser genom att ange följande ADB-kommando:
adb shell settings get secure media_button_receiver
På min enhet gav detta kommando följande utdata:
com.google.android.music/com.google.android.music.playback.MediaButtonIntentReceiver
Det här är sändningsmottagaren som konfigurerats av Google Play Musik för att svara på nyckelhändelser med mediaknappen. Så om jag kopplar in min Bluetooth-enhet kommer min telefon automatiskt att börja spelas upp i Google Play Musik.
Vi kan dra fördel av detta faktum genom att låta Tasker vara den som svarar på nyckelhändelser med Media Button. På så sätt kommer Tasker att absorbera kommandot växla uppspelning/paus, vilket förhindrar någon annan applikation från att reagera på det och därmed starta uppspelning. Så här går det till.
Inaktivera Bluetooth Autoplay med Tasker
Som nämnts tidigare behöver du Tasker för detta projekt. Du behöver dock inga ytterligare plugins den här gången. Jag är inte säker på hur du kan replikera detta på andra automatiseringsprogram eftersom jag inte är bekant med deras funktionsuppsättning, men du är fri att prova det.
Öppna först Tasker och skapa en ny profil genom att trycka på + ikon. Välj den Statssammanhang som visas nedan och välj Nät --> BT ansluten. Här trycker du på förstoringsglas ikonen under antingen fältet Namn eller Adress och välj alla Bluetooth-enheter som du vill förhindra automatisk uppspelning på.
Nästa steg måste vi skapa vår uppgift. Du behöver inte bry dig om att namnge den, eftersom det bara kommer att finnas en enda åtgärd här och den kommer inte att användas i en annan profil. När du är på skärmen för att skapa uppgifter, tryck på + knappen längst ned i mitten av skärmen för att skapa en åtgärd. Gå till Media --> Mediaknapphändelser och välj Hugg i rullgardinsmenyn. Enligt min erfarenhet behövde jag inte välja "Använd nytt API", men om det här projektet i slutändan inte fungerar kan du gå tillbaka och aktivera den här kryssrutan.
När du är klar bör Tasker nu automatiskt ställa in sig själv som Media Button Receiver i Android vid anslutning till dina valda Bluetooth-enheter. På så sätt kommer spel-/pausåtgärden som skickas inte att tas emot av någon av dina medieapplikationer, utan istället av Tasker.
Oroa dig dock inte, eftersom detta inte betyder att Tasker kommer att fortsätta ta tag i Media Button-nyckelhändelser på obestämd tid. Som nämnts tidigare kan alla program begära att göra detta, så när du manuellt startar uppspelningen på din önskade mediaspelare, kommer den sedan att ta tillbaka kontrollen över att lyssna på Media Button-tangenten evenemang.
Slutsats
Jag kan uppenbarligen inte testa detta på alla enheter, men jag har testat det många gånger genom att ha den här profilen aktiverad/inaktiverad och ansluta/koppla från min Bluetooth-enhet upprepade gånger. Det fungerade som jag förväntade mig, men du måste prova det själv.
Den här gången kommer jag inte att tillhandahålla en profil för dig att importera på grund av att den här profilen är båda otroligt lätt att ställa in och kräver också att du manuellt ändrar profilen för att välja din egen Bluetooth enheter i alla fall. Låt mig veta om den här profilen fungerar för dig och/eller om du har några förslag på förbättringar!