마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 AccessibilityEvent에 관한 질문입니다!

0 추천

안녕하세요! 아직 아는게 없어서 질문만 엄청 하고있네요..ㅠㅠ

이번 질문은 AccessibilityService에 대한 질문입니다!!

public void onServiceConnected() {}

연결이되면 여기가 먼저 실행이되고

public void onAccessibilityEvent(AccessibilityEvent event) {}

이벤트가 발생할때마다 여기가 실행되는것도 알겠습니다!

여기서 문제가 이벤트가 계속 거의 1초에 한번씩 발생하는데

저는 저안에 단 한번만 실행되는 Toast를 넣고싶습니다!!

    public void onAccessibilityEvent(AccessibilityEvent event) {
//        Log.e(TAG, "Catch Event : " + event.toString());
//        Log.e(TAG, "Catch Event TEXT : " + event.getText());
//        Log.e(TAG, "Catch Event ContentDescription  : " + event.getContentDescription());
//        Log.e(TAG, "Catch Event getSource : " + event.getSource());
        Log.e(TAG, "Catch Event Package Name : " + event.getPackageName());
        Log.e(TAG, "=========================================================================");
        final String program = "com.tidyweb.filecast";
        final String pw = "PW비번123!@#";
        Toast toast = null;

        if (((String) event.getPackageName()).contains(program)) {
            Log.e(TAG, "-----클립보드 복사되는 패키지-----");
            ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
            ClipData clipData = ClipData.newPlainText("Password", pw);
            clipboardManager.setPrimaryClip(clipData);
            if (toast == null) {
                toast = Toast.makeText(getApplicationContext(), "'" + pw + "'\n 클립보드로 복사되었습니다.", Toast.LENGTH_SHORT);
            } else if (toast != null){
                toast.setText("이미 복사 되었습니다.");
            }
            toast.show();

        } else {
            Log.e(TAG, "******복사 안되는 패키지******");
        }
    }

엄청 구글링을 하면서 이렇게까지 해봤지만..

결과는 무용지물.. 무한 Toast를 접하고나니 좌절감만 들더라구요..ㅠㅠ

이런걸 해결해 보신분이나.. 해결할 수 있다!

하시는 고수분들 저에게 팁을 알려주세요ㅠㅠㅠ

 

개발왕이되고싶은 (1,110 포인트) 님이 2017년 6월 26일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...