내 애플리케이션에 정적 부울 값이있는 SMS 브로드 캐스트 리시버를 사용하여 리시버를 활성화 또는 비활성화합니다.Android 라이프 사이클 문제
public class SmsListener extends BroadcastReceiver {
public static boolean activated = false;
@Override
public void onReceive(Context context, Intent intent)
if (activated){ //do something
}
...
}
}
다음 (이 정적 값을 통해) SMS 수신기를 활성화하거나 활성화하지 않는 위젯이 있습니다. 모든 것이 잘 작동하지만 전화 메모리가 낮아지면 SMS 수신자가 상태를 잃어 응용 프로그램이 예상대로 작동하지 않는다는 것을 알게되었습니다. 안드로이드 라이프 사이클과 관련된 것 같아요. 백그라운드에서 서비스가 없으며 시스템이 프로세스를 종료합니다. 내가 사용했던 접근 방식을 피해야할까요? 나는 항상 안드로이드 프로세스 죽이기를 피하기 위해서만 서비스를 시작해야합니까?
감사
Tobia Loschiavo
환경 설정에 활성화가 저장되어 있습니다 ... 작동 중입니다. – Matroska
AlarmManager를 사용하여 Alarm을 설정했습니다. 응용 프로그램이 종료되면 경보가 살아남습니까? 문서에서 그렇다고 봅니다. – Matroska
거의 모든 것이 활동에서 오래 지속됩니다. 그들은 존재하지 않는 상태에서 계속해서 깜박이도록 고안되었습니다. – drawnonward