2017-12-12 7 views
0

주어진 시간에 모든 연결 (블루투스, Wi-Fi, 모바일 네트워크) 및 기타 전력 소비 기능을 끄고 싶습니다. (오후 11시).Android : 주어진 시간에 연결 (네트워크, 블루투스) 사용/사용 안 함 배터리 절약을 위해

가장 좋은 방법은 무엇입니까? 나는 부팅 후 시작된 서비스를 생각하고 있으므로 서비스를 수동으로 다시 시작할 필요가 없습니다. 처음에는 UI 용 앱이 필요하지 않습니다. 화면을 끌 시간을 하드 코딩 할 수 있습니다. 나중에 GUI를 통해 시간을 변경할 수 있으면 좋겠지 만 이것은 꼭 필요한 것은 아닙니다.

그래서 서비스가 무언가를해야하는 유일한 시간은 너무 많은 에너지를 소모하지 않고 백그라운드에서 지속적으로 실행해야하는 시간을 감지하기 위해 원하는 시간에 있습니다.

이러한 종류의 작업에 가장 적합한 방법은 무엇입니까?

https://developer.android.com/reference/android/app/AlarmManager.html

당신이해야 할 일의 특정 시간에 서비스를 트리거 반복 알람 (또는 당신이 원하는 어떤 행동을 보낼 수 있습니다

답변

1

나는이 당신을 위해 무엇을 찾고있는 추측). 특정 시간에 시간 설정은 아래를 참조하십시오 :

Intent myIntent = new Intent(AndroidAlarmService.this, KillNetworkService.class); 
pendingIntent = PendingIntent.getService(AndroidAlarmService.this, 0, myIntent, 0); 

AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); 

Calendar calendar = Calendar.getInstance(); 

calendar.setTimeInMillis(System.currentTimeMillis()); 

calendar.set(Calendar.HOUR_OF_DAY, 23); //23 for 11pm 
calendar.set(Calendar.MINUTE, 00); 
calendar.set(Calendar.SECOND, 0); 

alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); 

을 내 예를 들어, 오후 11시에 KillNetworkService.class 매일을 시작하고 해당 서비스에서, 당신은 지금 당신의 네트워크를 해제 할 수 있습니다. 알람 매니저 튜토리얼

참조 : http://android-er.blogspot.com/2010/10/simple-example-of-alarm-service-using.html

+0

안녕하세요 텐텐 폰세, 예 또한 튜토리얼에 대한 링크를 제공하는 감사합니다. 참조 링크를 잠깐 살펴 봤는데 내가 그곳으로 향하고 있다고 생각합니다. –

+0

도와 드리겠습니다. 잠시 후 죄송합니다. –

+0

문제 없습니다. 불행히도 나는 내 생각을 죽인 또 다른 문제를 겪었다. 모바일 네트워크 또는 비행기 모드를 사용하지 않기를 원했지만 Google은 오래 전에 라우트되지 않은 기기에이 기능을 허용하지 않기로 결정했습니다. 비행기 모드를 변경하려면 Settings.Global 설정을 수정해야합니다. android.permission.WRITE_SECURE_SETTINGS-privlege이 시스템 앱에만 부여됩니다 ... 최대 허용 범위는 wifi를 사용 중지하는 것입니다. 그리고 블루투스 -하지만 어쨌든 기본적으로 내 휴대 전화에서 꺼져 있습니다 ... 너무 나쁨 ... –