안드로이드 개발 질문/답변
(글 수 45,052)
시간을 등록해 두면 그 시간 동안 휴대폰이 무음으로 변경되도록 프로그래밍을 하고 있는데요
안드로이드 프로그래밍 입문한 지 얼마 되지 않지만 나름대로 여기저기 찾아보고 공부해서 시간을 받아와서
기존의 등록된 시간 및 요일과 중복 검사하고 이를 데이터베이스에 저장하고 불러올 수 있도록은 프로그램을
해 둔 상태입니다. 고수님들께서는 순식간에 끝날 작업이지만 전 되게 힘들게 힘들게 했네요
이제 데이터베이스에 저장된 시간 정보와 요일 정보를 토대로 일정 시간동안 무음이 되도록 해야하는데
제가 생각한 방향이 맞는지 좀 잡아주셨으면 좋겠습니다
시간을 등록할 때, 휴대폰을 껐다가 켰을 때 해당 요일에 시간 정보가 있고 시작 시간이 현재시간보다 이후이면
시작시간에서 현재시간을 뺀 만큼의 시간이 경과된 후 브로드캐스트, 서비스 등(이 부분에는 아직 개념이 안
잡혀서 조금 더 알아봐야할 것 같아요)을 이용하여 무음으로 바꿔주고
만약 시작시간이 현재시간보다 이전이고 종료시간이 현재시간보다 이후이면 종료시간에서 현재시간을 뺀 만큼의
시간이 경과된 후 위와 같은 방법으로 원래대로 되돌리든가 알림을 주는 방식으로 하려고 합니다
대충 이런 식으로 나가면 되는 게 맞을까요? 방향이 맞아도 구현에는 너무너무 힘이 들지만요 ㅠㅠ
만약 저렇게 한다면 도중에 휴대폰 소리/진동을 제가 임의로 바꿔버리면 결국 효과가 없어지는 건데
그렇다면 계속해서 체크해야하나요? 그러면 그건 또 너무 부담이 갈 것 같은데...
아 간단해보이면서도 제겐 너무 복잡하고 어려운 ㅠㅠ
도와주세요~
2011.11.17 21:09:48
유휴시각부터 유휴해제시각까지 분단위(설정 나름이겠죠)로 유음/무음 상태를 확인하는거죠.
서비스로 구성하셔도 되고, 시스템에서 분단위 intent broadcasting 되는 신호를 수신할수도 있습니다.
단순하고 무식해 보이지만 가장 확실해 보이네요. 딱히 다른 방법도 생각나지 않구요.
다만 우려하시는대로 배터리 소모라던지 다른작업에 영향 등을 고려해서
감시주기를 결정하시면 될것 같아요.
너무자주하면 배터리소모가, 너무 뜸하면 유휴상태에서 원하지 않는 상태발생(소리가 남) 할 가능성이 높아지겠죠.
좀더 좋은 방법이 있다면 다른분이 말씀해 주실거예요.
폰사용자에게 유휴시간을 제공한다는 개념의 앱을 만드시나봐요.
주기가 24 시간이라면
하루에 두번 유휴셋팅시각과 유휴해제시각에 해당 작업을 하면 되는데
생각하시는대로 중간에 인터럽트가 있는지 감시를 해야하는 이슈가 있네요.
먼저 시스템에서 무음/유음 관련 intent 가 broadcast 되는지 확인하시구요,
그런게 없다면(제 생각으로는 없을것 같습니다) 말그대로 주기적인 감시가 필요하겠네요.
간단해 보이는 앱들도 실제로 누군가에게 보여줄 정도의 완성도를 가지기 위해서는 상당히 공이 들어요.
지금 하시려는게 그리 간단한것도 아니니
'나에게만 어려운걸까?' 라는 생각하지 마시고 힘내세요./
완성되면 아주 유용한 앱이 될것 같네요.