有没有一种方法可以使用AccessibilityService在Android中自动回答WhatsApp视频通话?
或者有没有一种方法模拟点击耳机/蓝牙接听按钮? 如何获取接听按钮的ID? 使用辅助功能服务执行单击操作。
我知道从Android 8.0 Oreo开始,我们有ANSWER_PHONE_CALLS权限,但是对于我的项目,我想使用旧设备进行远程监控。
任何帮助将不胜感激!
----- 更新:由于hemisphire先生和Kahbazi先生的答案,该应用程序能够接听电话,但需要成为系统应用程序才能工作!有没有办法使它在不成为系统应用程序的情况下工作?没有耳机按钮黑客吗?
或者有没有一种方法模拟点击耳机/蓝牙接听按钮? 如何获取接听按钮的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() {
}
}