Maison > Questions et réponses > le corps du texte
背景:想实现驾车时有话想说给某微信好友老王,用指纹解锁后自动启动微信APP,以实现不用低头看手机 就能给老王发出一段语音。
流程如下:
1、指纹解锁手机。手机解锁
2、手指仍不离开指纹感应器,(手机检测指纹感应器被按下了2s)就自动启动微信
3、微信启动以后,调用AccessbilityServices或Root模拟点击等方式,点击老王头像
4、切换到语音输入模式,并模拟点击,自动按下微信“录音”按键
5、检测手指是否还在感应器上,如果手指离开了,就模拟点击松开微信“录音”,语音发送出去。
目前的问题在于:如何将指纹解锁与程序启动关联起来?比如用中指指纹解锁后,自动唤醒写好的Services?(然后这个有着Root权限的Services就可以完成2——4的流程了)
巴扎黑2017-04-18 09:05:58
Vous pouvez enregistrer dynamiquement la surveillance de la diffusion de l'écran de verrouillage dans le service pour surveiller le comportement de déverrouillage de l'utilisateur. Le service garantit qu'il reste en arrière-plan une fois la diffusion de déverrouillage reçue, les opérations commerciales correspondantes seront effectuées.
1.Enregistrer la diffusion d'écran
Filtre IntentFilter = new IntentFilter();
filtre.addAction(Intent.ACTION_SCREEN_ON);
filtre.addAction(Intent.ACTION_SCREEN_OFF);
//Ouvrir
filtre.addAction(Intent.ACTION_USER_PRESENT);
registerReceiver(nouveau ScreenReceiver(), filtre);
2. Effectuez les opérations associées dans la diffusion de déverrouillage
classe privée ScreenReceiver étend BroadcastReceiver {
@Outrepasser
public void onReceive (contexte contextuel, intention d'intention) {
commutateur (intent.getAction()){
cas Intent.ACTION_SCREEN_ON :
//Ouvrir l'écran
Log.i(TAG, "onReceive: ON");
casser;
cas Intent.ACTION_SCREEN_OFF :
// écran de verrouillage
Log.i(TAG, "onReceive: OFF");
casser;
cas Intent.ACTION_USER_PRESENT :
// Déverrouiller l'écran
Log.i(TAG, "onReceive: PRESENT");
//faire quelque chose
casser;
défaut:
casser;
} ;
}
ringa_lee2017-04-18 09:05:58
Pour soulever une question de scénario, il s'agit uniquement du déverrouillage par empreinte digitale. Comment faites-vous la distinction entre les états de conduite et de non-conduite ? Revenons au sujet, la surveillance de la diffusion d'écran du répondeur précédent est une idée possible. Peut-être que votre deuxième étape peut être réalisée, mais même si vous avez l'aide d'AccessbilityServices ou de root, je crains que vous ne puissiez pas trouver Lao Wang. Sans parler de technologie, c’est une mauvaise chose.