2014-11-24 1 views
7

다른 설치된 앱과 Chrome에서 로그인을 자동 채우기해야하는 애플리케이션을 개발 중입니다. AccessibilityService를 사용하여 설치된 다른 앱에서 로그인을 자동 채울 수는 있지만 Chrome 브라우저에서 작동하지 않습니다. 나는 사용자 이름과 암호 AccessibilityNodeInfo를 식별 할 수 있지만 그 안에 내용을 붙여 넣을 수는 없습니다.AccessibilityService Android를 사용하는 Chrome의 자동 완성 로그인

이것은 내가 시도하는 방식이며, 내용을 클립 보드에 채우고 AccessibilityNodeInfo.ACTION_PASTE를 사용하여이 사용자 이름과 암호 필드에 내용을 붙여 넣습니다. 이 기술은 설치된 다른 앱에서는 잘 작동하지만 Chrome에 붙여 넣기에는 실패합니다. 나는이 하나를 제외하고 어떤 관련 포스트든지 - link를 찾아 낼 수 없다, 그러나 그것에있는 명확한 해결책이 없다. 또한 개발자 사이트에서도 문서화 된 것을 찾을 수 없습니다. 콘텐츠를 붙여 넣기위한 자바 스크립트 코드를 삽입해야합니까? 그렇다면 나에게 모범을 보이게 할 수 있겠습니까? 이전에 WebView를 사용하여이 작업을 수행했지만이 경우에는 뷰에 대한 참조가 없습니다.

이 문제에 대한 도움을 주시면 감사하겠습니다.

+0

내가 자동 완성 다른 응용 프로그램의 로그인에 대한 접근성 서비스를 만들려고합니다. 몇 가지 예제 링크를 제공해 줄 수 있습니까? – Bunny

답변

0

다음과 같은 것을 실행하여 이러한 목표를 달성하기 위해 자바 스크립트를 실행할 수 있습니다 : 당신은 단지 외부 응용 프로그램으로 크롬 응용 프로그램에서 인해 임의의 js를 실행할 수 있는지

document.getElementById("username").val = "username";

그러나 나는 의심한다.

0

그럼 구글은

"자바 스크립트 확장 또는 자바 스크립트를 주입의 다른 방법을 지원 할 계획이 없습니다"당신은 자바 스크립트를 삽입 할 수있는 AccessibilityService를 사용할 수 없습니다 "라는 허용하지 않습니다 크롬 또는 WebView에서. "

당신이 읽을 수있는 당신은 자동 완성 달성하기 위해이 방법을 사용할 수 있습니다 here...

0

더 :

private void setNodeText(AccessibilityNodeInfo node, String str) { 
     Bundle bundle = new Bundle(); 
     bundle.putCharSequence(AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, str); 
     node.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, bundle); 
}