전력을 절약하기 위해 전화를 비행기 모드로 설정하는 코드를 작성했습니다. 이 장치는 인도네시아의 한 마을에있는 일부 센서의 데이터를 전송하기 위해 WiFi 핫스팟으로 사용됩니다. 센서는 데이터를 동시에 전송하므로 비행기 모드에서 자정에 5 분 동안 나와 비행기 모드로 다시 들어가야합니다.비행기 모드 설정이 완전히 작동하지 않습니다.
셀룰러 라디오가 꺼지지 않고 비행기 아이콘이 나타나지 않는 것이 문제입니다. 전화기가 airplane_mode를 on으로보고하지만, 여전히 전화를 걸 수 있습니다. 시장에있는 다른 위젯들은 더 나은 운임을 내지 못하는 것 같습니다. "비행기 모드 Wi-Fi 도구"를 사용해 보았습니다. 그것도 비행기의 아이콘을 표시하거나 셀 라디오를 사용하지 못하게합니다. LogCat을보고 기기 설정을 사용하여 비행기 모드로 전환하면 프로그램에서 시도 할 때보 다 훨씬 더 많은 일이 발생하고 있음을 알 수 있습니다.
드로이드에서 내 프로그램을로드하면이 코드는 예상대로 작동합니다. AIRPLANE_MODE_RADIOS
은 cell, bluetooth, wifi
으로 설정됩니다.
-Froyo 2.2 빌드 FROYO.UYJP2 -Froyo 2.2.1 빌드 FROYO.UYJPE
한 가지 흥미로운 보조 노트 :
기분을 상하게하는 장치가 삼성 갤럭시 5, I5500은 테스트 I 프로그램의 경우 비행기 모드를 설정 한 다음 기기의 전원을 껐다 켭니다. 전체 비행기 모드로 들어오고 수신 전화를 거절합니다.
다른 기기에서 이와 유사한 이야기가 있습니까? 특별히 셀을 끌 수있는 방법이 있습니까?
public static void setAirplaneMode(Context context, boolean status) {
boolean isAM = Settings.System.getInt(context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0) != 0;
String radios = Settings.System.getString(context.getContentResolver(),
Settings.System.AIRPLANE_MODE_RADIOS);
//This line is reporting all radios affected but annunciator does not seem to think so. Does not show airplane
Wake.logger("Airplane mode is: " + isAM + " changing to " + status + " For radios: " + radios, false);
// It appears Airplane mode should only be toggled. Don't reset to
// current state.
if (isAM && !status) {
Settings.System.putInt(context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0);
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", 0);
context.sendBroadcast(intent);
return;
}
if (!isAM && status) {
Settings.System.putInt(context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 1);
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", 1);
context.sendBroadcast(intent);
return;
}
}
그렇다면 비행기 모드를 설정 한 다음 작동하는 전화기를 다시 시작한다고 말하는 것입니까? 이 장치는 특정 소리를 내고, 해결 방법은 간단합니다. 휴대 전화가 다시 켜진 후 앱을 다시 시작하는 브로드 캐스트 수신기를 가질 수 있습니다. – Blundell
수정. 그러나 장치는 무인 상태로 유지됩니다. 전원이없는 위치에서 설정된 시간에 데이터를 릴레이합니다. 대형 배터리 나 저렴한 태양열을 사용합니다. 주기적으로 전원을 켜도록 장치를 구성 할 수 있습니까? 나는 USB를 통해 하루 10 분 동안 전원을 공급하여 전화를 시작하고 중지 할 수 있다고 생각했다. 그래도 작동하지 않습니다. 어쨌든 나는 내 문제를 생각했다. 답변을 참조하십시오. –