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

nfc 기능 소스상에서 on/off 나 pause 방법

0 추천
초보 개발자입니다.

휴대폰 거치대에 nfc를 달아서 인식을 시켜놓고 app을 실행시킨 후 사용하다가

한참있다가 떼어냈다고 다시 올려놓으니 nfc를 읽지를 못하네요.

화면을 다시 껐다가 켜면 다시 인식이 됩니다.

nfc를 계속 붙여놓으면 휴대폰이 인식을 막는 것인지 궁금하구요.

소스상에서 app이 실행되었을때 일시적으로 nfc를 더이상 인식하지 않게 하는 소스가 있는지 궁금합니다.

도움 부탁드립니다.
swingle (120 포인트) 님이 2017년 1월 31일 질문

1개의 답변

0 추천
android api level 23 이상 부터는 doze mode 가 추가되었고

일반적인 상황에서는 deep sleep mode 형태로 동작이 되고 특정 tick 일 경우에 일부 작업을 진행하게 됩니다.

관련 내용을 찾아보세요

https://developer.android.com/training/monitoring-device-state/doze-standby.html?hl=ko
aucd29 (218,390 포인트) 님이 2017년 2월 1일 답변
우선 답변 감사합니다.

그런데 doze mode에 해당되는 상황은 아니구요...
예를 들자면 차량용 거치대에 nfc를 부착하고 nfc를 인식하면 네비게이션으로 가게 해놓은 경우 계속 네비를 사용하다가 앱을 끄고 다시 nfc에 올려놓아도 인식을 하지 못합니다.
물론 위의 예시 중간에 화면을 껐다 켰을 경우는 없습니다. 화면을 껐다 켜야 다시 인식을 하더라구요.
1. 차량용 거치대에 nfc 부착
2. 거치대에 nfc 를 단말로 인식 시 => 네비 사용
3. app off
4. 차량용 거치대에 다시 단말 인식 시 nfc 인식 불가 ?

doze 가 아닌 이유는 api 가 23 에 해당하는 폰이 아닌 것 인건가요?
S7 edge 사용하고 있구요. Android 6.0 입니다 ㅠ.ㅜ
doze mode는
1. 배터리가 충전되지 않고
2. 휴대폰이 물리적으로 제자리에 계속 놓여진 상태이며
3. 스크린 오프 상태로 오랫동안 방치 되었을 경우
일때 해당된다고 나오는데 충전하면서 사용도 하구요...
스크린 오프 상태도 아니라서 해당이 안되는게 아닌가요??

테스트 해보니 1분 정도 이상 올려놓으면 다시 인식이 안되네요... 그 전에는 다시 올려놓으니 인식이 되구요;;

원인을 알 수가 없네요 ㅠ.ㅜ
배터리 충전중 이신것 도즈의 가설은 나가리군요
흠 -_ -;;
네;;; 어떤 이유에서 그런건지 확인 할 수가 없네요;; 주변에 다른분들 핸드폰으로도 해봤는데 요즘 나온 갤럭시는 다 안되는것 같구요. 안드로이드 5.0 s4는 잘되더라구요. 그래서 구글에서 막아놨나 싶었는데 안드로이드 6.0 G4는 잘되고;; 삼성에서 하드웨어로 제어를 한건지...  모르겠네요ㅠ.ㅜ
...