2014-07-15 1 views
1

내 앱에서 사용자는 Y/X가 Z 일 때 X를 사용하는 서비스를 사용 설정할 수 있습니다.이 기능은 항상 켜져 있어야하지만 물론 앱이 업데이트되면 Android가이 서비스를 종료합니다. 이제 문제는 내가 만든 체크 박스와 레이아웃 변경 (버튼 토글, 가시성 등)이 변경되지 않는다는 것입니다.업데이트시 Android 서비스가 자동 종료되지만 버튼/체크 상자와 같은 위젯은 변경되지 않습니다.

내 응용 프로그램의 레이아웃은 SharedPreferences에 따라 다르므로 레이아웃을 변경하기 위해 업데이트해야합니다. 앱을 업데이트 할 때 SharedPreferences는 현재 서비스가 중지 되더라도 Checkbox1 (서비스 사용 가능)이 계속 유지되도록 재설정하지 않습니다. 어떻게 해결할 수 있습니까? 서비스가 실행 중인지 여부에 따라 체크 상태가 종속적일까요? setChecked 또는 SharedPreferences보다 좋을까요?

또한 앱 업데이트시 서비스를 다시 사용하도록 사용자에게 알리는 방법은 무엇입니까?

답변

3

당신은 당신이

public UpgradeReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     Intent serviceIntent = new Intent(context, YourService.class); 
     context.startService(serviceIntent); 
    } 

} 
+0

감사합니다 서비스

<receiver android:name="com.example.receivers.UpgradeReceiver"> <intent-filter> <action android:name="android.intent.action.PACKAGE_REPLACED" /> <data android:path="com.example" android:scheme="package" /> </intent-filter> </receiver> 

그런 다음이 클래스 UpgradeReceiver을 구현 추가해야 다시 시작! 내가 찾은 대부분의 답변은 내가 그 문제를 다루어야 할 것이라고 말했습니다. 다시 고마워! – Carl

+0

완벽! 감사 – FedeAmura

관련 문제