Fix: 앱 재시작 시 UI 상태와 서비스 상태 동기화 문제 해결

onResume()에서 실제 FTPService 실행 상태를 확인하여 UI를 동기화함으로써 화면 전환 또는 앱 재시작 시에도 올바른 버튼 상태가 표시되도록 수정.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-02 02:10:39 +09:00
parent e6e4ef7df5
commit 12f27e9f13

View File

@@ -8,6 +8,8 @@ import androidx.core.content.ContextCompat;
import androidx.documentfile.provider.DocumentFile;
import android.Manifest;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
@@ -239,4 +241,27 @@ public class MainActivity extends AppCompatActivity {
}
}
}
/**
* Check if FTPService is currently running in the background
*/
private boolean isServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
if (manager != null) {
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (FTPService.class.getName().equals(service.service.getClassName())) {
return true;
}
}
}
return false;
}
@Override
protected void onResume() {
super.onResume();
// Sync UI with actual service state when activity resumes
isServerRunning = isServiceRunning();
updateUI();
}
}