중국시가넷 - 메시지 플랫폼 - 왜 다른 사람의 샤오미 휴대전화가 받으면 자동으로 검증 코드를 작성하는데, 나는 그렇지 않을까요?

왜 다른 사람의 샤오미 휴대전화가 받으면 자동으로 검증 코드를 작성하는데, 나는 그렇지 않을까요?

보안센터로 가는 권한 관리, 모든 소프트웨어를 열어 문자메시지 내용에 액세스할 수 있는 권한.

자동 채우기는 일부 소프트웨어의 기능이지 휴대전화의 기능이 아니다. 예를 들어, 알리페이는 문자 메시지를 읽을 수 있는 권한을 알리페이에게 개방한다면, 인증 코드를 입력하는 곳에 문자 메시지에 있는 인증 코드를 자동으로 채울 수 있습니다. 그렇지 않으면 알리페이는 문자 메시지를 받을 수 없습니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 문자명언)

응용 프로그램 개발 과정에서, 우리는 사용자에게 확인 코드를 보내 사용자의 신분을 확인해야 하지만, 사용자가 문자 확인 코드를 받은 후, 현재 응용 프로그램을 떠나 확인 코드를 보고, 다시 우리 응용 프로그램으로 돌아가 확인 코드를 채울 필요가 있다. 이렇게 하면 사용자에게 많은 불편을 초래할 수 있다. 안드로이드 시스템의 어플리케이션은 휴대폰의 짧은 메시지를 읽을 수 있습니다. 이 기능을 사용하여 원하는 내용을 얻고 입력 상자에 표시할 수 있습니다.

이번에 구현한 함수에는 ContentObserver 가 필요합니다. 우리가 핸드폰에 문자를 보낼 때, 핸드폰은 자동으로 컨텐트 Observer 클래스에 지정된 방법을 호출하여 우리 앱 문자 내용의 변화를 알려준다. 우리는 내용의 정보를 추출하여 우리의 입력 상자에 채워 넣을까요?

여기서 저는 관련 디자인 패턴, 즉 관찰자 패턴을 알려드립니다.

관찰자 모드는 소프트웨어 설계 모드입니다. 이 모드에서는 대상 객체가 종속된 모든 관찰자 객체를 관리하고 해당 상태가 변경될 때 사전 알림을 보냅니다. 이는 일반적으로 관찰자가 제공하는 메서드를 호출하여 수행됩니다. 이 모드는 일반적으로 시간 처리 시스템을 구현하는 데 사용됩니다.

관찰자 모드는 관찰자와 관찰된 개체를 완벽하게 분리하고 모듈 사이에 명확한 경계를 정하여 응용 프로그램의 서비스 용이성과 재사용 가능성을 높였습니다.

관찰자 디자인 패턴은 객체 간의 일대다 종속성을 정의하므로 한 객체의 상태가 변경되면 종속된 모든 객체가 공지를 받고 자동으로 새로 고쳐집니다.

이 예에서는 먼저 애플리케이션의 초기 운영 중에 시스템 SMS 응용 프로그램에 관찰자를 등록하고 SMS 응용 프로그램에 내가 당신의 관찰자라고 알려주며, 자신의 상태가 변경될 때 알려 드립니다.

관찰자의 기본 과정을 살펴 보겠습니다.

관찰자는 자신을 관찰된 주체에 등록하고, 관찰된 주체는 관찰자를 컨테이너에 저장합니다.

관찰된 객체가 변경되면 컨테이너에서 등록된 모든 관찰자를 가져오고 관찰자에게 변경 사항을 알립니다.

관찰자는 관찰자에게 관찰을 취소하라고 말했고, 관찰자는 관찰자를 컨테이너에서 제거했다.

컨텐츠 관찰자의 목적은 데이터베이스에서 특정 Uri 로 인한 변경 사항을 관찰 (캡처) 한 다음 그에 따라 처리하는 것입니다. 데이터베이스 기술의 트리거와 유사하며 Content Server 에서 관찰한 Uri 가 변경될 때 트리거됩니다.

특정 Uri 를 보려면 다음 절차를 따르십시오.

1. 특정 ContentOberver 파생 클래스를 만들려면 부모 클래스 생성자와 onChange () 메서드를 다시 로드하여 콜백 후 함수 구현을 처리해야 합니다.

2. context.getContetResolover () 를 사용하여 ContentResolover 객체를 가져온 다음 registerContentObeserver () 메서드를 호출하여 내용 뷰어를 등록합니다.

3. ContentObserver 의 수명 주기가 활동 및 서비스와 동기화되지 않았기 때문에 필요 없을 때 unregisterContentObserver () 를 수동으로 호출하여 등록을 취소해야 합니다.