Получить команду Google сейчас в моем приложении
Я хотел бы получить результаты в переменной типа String. Содержание того, что пользователь сообщает своему смартфону через Google сейчас: "ОК, google claptrap". Я хотел бы сделать это, чтобы вернуться "claptrap". Я уже искал, но безуспешно. Теперь я нашел способ вернуть мое выбранное приложение в Google, например, написать заметку в моем приложении, но в этом случае человек должен сказать "ОК, google note at me claptrap", чтобы я мог вернуть хлопок в ответ. Это идет не очень хорошо... Я почти уверен, что это возможно, потому что приложение "commandr" уже делает это для команд как "включить факел".
Извините за мой плохой английский.
Заранее спасибо Добрый вечер:D
Я создал AccessibilityService для получения команды Google сейчас, но я должен коснуться editText для получения команды. Помоги мне, пожалуйста
public class NotificationService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
System.out.println("******onAccessibilityEvent*******");
if(event.getEventType() == AccessibilityEvent.TYPE_VIEW_FOCUSED || event.getEventType() == AccessibilityEvent.TYPE_WINDOWS_CHANGED) {
System.out.println(" NAME : " + event.getClassName());
System.out.println(" NAME PCK : " + event.getPackageName());
System.out.println(" SOURCE : " + event.getSource());
System.out.println(" TEXT : " + event.getText());
}
}
private String RecupCommandGoogle(AccessibilityEvent mEvent, AccessibilityNodeInfo mSource) {
if (mSource != null & mEvent.getClassName().equals("android.view.View")) {
return String.valueOf(mSource.performAction(AccessibilityNodeInfo.ACTION_SELECT));
}
return null;
}
@Override
protected void onServiceConnected() {
System.out.println("onServiceConnected");
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.eventTypes = AccessibilityEvent.TYPE_WINDOWS_CHANGED | AccessibilityEvent.TYPE_VIEW_FOCUSED ;
info.packageNames = new String[] {"com.google.android.launcher" , "com.google.android.googlequicksearchbox"};
info.feedbackType = AccessibilityEvent.TYPES_ALL_MASK;
info.notificationTimeout = 100;
setServiceInfo(info);
}
@Override
public void onInterrupt() {
System.out.println("onInterrupt");
}
}