본문 바로가기
728x90
반응형

프로그램 개발해서 돈벌기/Android16

안드로이드에서 startService, startForegroundService 사용과 중복 실행 방지를 예제로 설명 안드로이드에서 startService 및 startForegroundService 메서드는 서비스를 시작하는 데 사용되는 메서드입니다. 이 두 메서드의 차이점은 Android 8.0 (Oreo)부터 도입된 백그라운드 실행 제한에 있습니다. startService: 서비스를 시작하며, 서비스가 시작된 후에 해당 서비스가 백그라운드에서 실행되는 한 시스템이 종료시키지 않습니다. 그러나 이 메서드를 사용하면 서비스가 포그라운드 서비스로 시작되지 않으므로, 서비스가 백그라운드에서 실행 중이더라도 일정 시간이 지나면 시스템에 의해 종료될 수 있습니다. startForegroundService: Android 8.0 이상에서 도입된 메서드로, 포그라운드 서비스로 서비스를 시작합니다. 포그라운드 서비스는 사용자에게 .. 2023. 12. 8.
안드로이드 13 (Target SDK API 33) 이후부터 포그라운드 서비스 시작 시 자동으로 시작하던 알림(Local Notification)이 동작되지 않는 경우 해결 방법 갤럭시 S23(안드로이드 13)에서 기존 포그라운드 서비스를 사용하던 앱에서 자동으로 시작하던 알림이 동작을 안하는 경우가 발생했습니다. 안드로이드 13에서 알림에 대한 권한 설정 부분에 변경이 생겼습니다. 우선 AndroidManifast.xml에 "POST_NOTIFICATIONS"을 추가해야 합니다. Target SDK API 33인 경우에만 알림 권한 요청을 해야 합니다. 개발자가 원하는 위치에 아래 코드를 호출해서 알림에 대한 권한 요청을 진행합니다. if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.TIRAMISU) { if(checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) != PackageManage.. 2023. 9. 20.
[Java] 안드로이드에서 크롬캐스트 연결 시 "전송 대상" 선택 후 앱 죽는 현상에 대한 해결 방법 안드로이드에서 크롬캐스트 연결 시 "전송 대상" 선택 후 앱 죽는 현상 디버깅을 해 보니 아래와 같은 에러 메시지가 보입니다. java.lang.IllegalArgumentException: com.kiwidisk.android: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if i.. 2023. 6. 27.
[Java] 안드로이드 서비스에서 Local Notification 보내기 build.gradle 종속성에 추가 dependencies { implementation 'com.android.support:support-compat:28.0.0' } Notification 채널 생성: Android 8.0 (API 레벨 26)부터 알림 채널을 사용해야 합니다. Application 클래스 또는 액티비티에서 아래의 코드를 사용하여 채널을 생성합니다. import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.Context; import android.os.Build; public class NotificationUtils { public static fina.. 2023. 6. 26.
[Java] 안드로이드 Activity와 Forground Service에서 위치 값 가져오기 Activity에서 위치 값 가져오기 AndroidManifest.xml 멤버 변수로 설정 double mLatitude = 0; double mLongitude = 0; private FusedLocationProviderClient fusedLocationProviderClient; onCreate에서 fusedLocationProviderClient 초기화 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fusedLocationProviderClient = LocationServices.getFused.. 2023. 6. 26.
[Java] 안드로이드에서 싱글톤(Singleton) 클래스와 사용법 예제 싱글톤 클래스는 애플리케이션 전체에서 단일 인스턴스를 유지하고 다른 클래스들이 이 인스턴스에 접근할 수 있도록 하는 디자인 패턴입니다. 이를 통해 객체의 중복 생성을 방지하고, 전역적인 상태나 리소스에 접근하기 편리한 장점을 제공할 수 있습니다. public class MySingleton { private static MySingleton instance; // private 생성자로 외부에서의 인스턴스 생성 방지 private MySingleton() { // 초기화 코드 작성 } // 인스턴스 반환 메서드 public static MySingleton getInstance() { if (instance == null) { // 인스턴스가 없는 경우에만 생성 synchronized (MySinglet.. 2023. 6. 26.
728x90
반응형