【发布时间】:2018-09-21 09:07:25
【问题描述】:
有没有办法在 Android 中使用 AccessibilityService 自动接听 whatsapp 视频通话?
或者有没有办法刺激点击耳机/蓝牙的接听按钮? 如何获取接听按钮的 ID?使用无障碍服务执行点击
我知道从 Android 8.0 Oreo 开始,我们拥有 ANSWER_PHONE_CALLS 权限,但对于我的项目,我想使用旧设备进行远程监控。
任何帮助将不胜感激!
----- 更新:感谢hemisphire先生和Kahbazi先生的回答,该应用可以接听电话,但需要系统应用才能工作!有没有办法让它在不成为系统应用程序的情况下工作?没有耳机的按钮黑客?
public class AnswerCall extends AccessibilityService {
@Override
public void onAccessibilityEvent( AccessibilityEvent event )
{
if(event.getEventType() == TYPE_WINDOW_CONTENT_CHANGED)
{
if(event.getPackageName().equals("com.whatsapp"))
{
Thread thread = new Thread() {
@Override
public void run() {
try {
while(true) {
Instrumentation inst = new Instrumentation();
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_HEADSETHOOK);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
thread.start();
StringBuilder sb = new StringBuilder();
List<CharSequence> texts = event.getText();
if (!texts.isEmpty())
{
for (CharSequence s : event.getText()) {
sb.append(s);
}
if(sb.toString().equals("Incoming video call"))
Log.d( "onAccessibilityEvent", "whatsapp video call" );
}
}
}
}
@Override
public void onInterrupt() {
}
}
【问题讨论】: