2011-12-16 4 views
0

내 IntentService 호출에서 생존 할 수있는 소량의 상태 (기본적으로 32 비트 정수)를 저장하는 방법이 필요합니다.스토리지를 건드리지 않고 Android 서비스의 최소 상태를 저장하는 방법

Flash를 사용하며 내 응용 프로그램에 적합하지 않기 때문에 SharedPreferences를 사용할 수 없습니다. 다시 부팅 할 때마다이 값을 유지할 필요가 없습니다. 다음에 서비스를 실행할 때 수행 할 작업을 알려주는 임시 값이 될 수 있습니다. 유일한 대안은 내 서비스가 항상 실행되도록하는 것인데, 나는 피하고 싶습니다.

편집 : 하나의 생각은 내가 속한 상태에 따라 다른 의도를 요청하는 것입니다. 예를 들어, 5 개의 다른 상태가있는 경우 5 개의 다른 의도를 가질 수 있으며 AlarmManager가 해당 상태를 반환하도록 할 수 있습니다 내 IntentService가 그 일을 끝내고있는 상태입니다.

답변

0

이것은 저장할 상태가 포함 된 Intent extras가있는 AlarmManager로 PendingIntent를 예약함으로써 수행 할 수 있습니다. 정보가 필요한 경우 getBroadcast()를 호출하여 인 텐트를 가져온 다음 알람을 취소하고 즉시 PendingIntent.send()를 호출하여 데이터를 추출합니다.

0

은 sqlite db를 사용합니다. 한 번에 하나의 항목 만 갖도록 테이블을 구성 할 수 있습니다.

+0

DB가 플래시 또는 외부 SD에 저장되지 않습니까? 이것이 내가 피하려고하는 것입니다. – Michael

+0

아니요, 응용 프로그램과 함께 제공되므로 응용 프로그램의 예약 된 메모리에 저장됩니다. – josephus

+0

당신이 나를 고칠 수 있다면 SharedPreferences는 플래시 나 외부 SD를 사용하지 않습니다. 응용 프로그램에 권한을 부여하지 않으면 외부 메모리에 액세스 할 수도 없습니다. – josephus

관련 문제