[android] READ_SMS, RECEIVE_SMS, RECEIVE_MMS 권한이 포함된 앱 게시 거부됨

sms, mms를 받았을 때 TTS로 읽어주는 앱을 만드는 중인데, 저 권한이 포함되면

앱이 거부되었습니다.
Your recent app submission was rejected for violating the Permissions policy. Before submitting your app for another review, read through the policy and make sure your app is in compliance.

라는 문구가 나오면서 게시 거부가 된다.

저 권한이 포함되면 이런 걸 체크하라고 하는데, 체크해도 결과는 똑같다.

결국 저 권한을 제거하고, AccessibilityService 를 설정하고, NotificationListenerService 를 이용해서 노티에서 정보를 읽어오는 걸로 변경했다.

class NotificationReceiver : NotificationListenerService() {
  override fun onNotificationPosted(sbn: StatusBarNotification?) {
    super.onNotificationPosted(sbn)

    if (sbn == null) return
    else if (sbn.notification == null) return

    val notification = sbn.notification
    Log.v("APP#", "============= 알림 받았음 ===============")
    notification.extras?.keySet()?.forEach {
      Log.v("APP#", "$it = ${notification.extras.get(it)}")
    }

    // 사람이 보내지 않은, 앱에서 자동으로 날아오는 각종 알림은 무시
    if (notification.getLargeIcon() == null) return

    // do something
  }
}

이걸로 바꾸니 문제가 생기는데, A가 보낸 문자를 수신 확인을 하지 않은 상태에서 B가 문자를 보내면, A가 보낸 문자와 B가 보낸 문자가 동시에 앱으로 넘어온다.

그래서 이미 받은 문구를 저장을 하게했는데, 이렇게되면 같은 사람이 같은 문구로 보내면, 두 번째 보낸 문구는 무시하게 된다. 어쩔 수 없이 안고 가야할 문제로 보인다.