Sur mon OnePlus 6 fonctionnant sous OxygenOS 10.3.11 (Android 10), je peux trouver le coupable en utilisant ce qui suit. adb commandes :
adb shell
dumpsys bluetooth_manager | toybox sed -ne '/abled.*due.*to.*APPLICATION_REQUEST.*/p'
Ejemplo:
$ adb shell
$ dumpsys bluetooth\_manager | toybox sed -ne '/abled.\*due.\*to.\*APPLICATION\_REQUEST.\*/p'
01-05 13:31:04 Enabled due to APPLICATION\_REQUEST by **com.arlosoft.macrodroid**
01-05 13:31:18 Disabled due to APPLICATION\_REQUEST by com.android.systemui
01-05 13:31:27 Enabled due to APPLICATION\_REQUEST by com.arlosoft.macrodroid
01-05 13:32:22 Disabled due to APPLICATION\_REQUEST by com.arlosoft.macrodroid
01-05 13:34:24 Enabled due to APPLICATION\_REQUEST by com.arlosoft.macrodroid
01-05 13:39:22 Disabled due to APPLICATION\_REQUEST by com.android.systemui
Comme vous pouvez le voir, la commande interroge le service Bluetooth Manager et filtre les informations qui nous concernent. Si vous souhaitez savoir où se trouvent ces informations dans le journal/dump complet, recherchez l'en-tête Enable log:
dans la décharge complète de bluetooth_manager
en utilisant dumpsys bluetooth_manager
. Cette information peut s'avérer utile si ma requête dumpsys n'aboutit pas.
La chaîne de caractères après by
est le nom du paquet de l'application qui a demandé l'activation ou la désactivation de Bluetooth à l'instant donné. Pour trouver le nom de l'application à partir du nom du paquet, vous pouvez utiliser ma réponse à la question " Comment trouver une application en se basant sur le nom du paquet ? "
On peut également trouver cette information (nom du paquet) en filtrant le logcat
adb logcat | grep -i 'bluetooth.*packageName'
Sortie de la démo :
01-05 13:32:22.305 1193 16018 E BluetoothManagerService: \[CW\] addActiveLog, reason: 1, packageName: com.arlosoft.macrodroid, enable: false
01-05 13:32:22.305 1193 16018 D BluetoothManagerService: \[CW\] Bluetooth Manager Service, enable: false, reason: 1, packageName: com.arlosoft.macrodroid