일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Flutter NativeView
- Swift flutterviewcontroller
- 노티피케이션 익스텐션
- 푸시 데이터 저장
- 플러터 뷰 컨트롤러
- NotificationService Extension
- 스위프트 카메라
- flutter rotate
- 스위프트 앨범
- flutter 회전
- Swift flutterview
- 스위프트 테이블 뷰 셀
- native flutter view
- 스위프트 푸시
- swift autolayout
- 스위프트 UserDefaults
- 안드로이드 앨범
- swift sms
- 안드로이드 에러
- Flutter UIKitView MethodChannel
- 안드로이드 바로가기
- silent push
- swift 문자
- FlutterView MethodChannel
- 앱 백그라운드 푸시 데이터 저장
- 앱 꺼졌을 때 푸시 데이터 저장
- 스위프트
- 안드로이드 숏컷
- 스위프트 웹뷰
- 안드로이드 FCM
- Today
- Total
목록Android(기능) (43)
Things take time
[로직] 안드로이드에서 startActivity를 호출하여 원하는 액티비티를 현재 액티비티의 위에 띄울 수 있다. 이렇게 되면 액티비티는 스택처럼, 먼저 호출된 액티비티가 밑에 위치하고 그 이후에 호출된 액티비티가 위에 가게 된다.그래서 A->B를 호출했을 때, B에서 finish()를 호출하면 A 액티비티가 나타나게 된다. 그런데 A->B를 호출하고 A액티비티는 사라졌으면 한다면? 보통 인트로 화면을 만들때가 그 예다. iOS에서는 기본 인트로 이미지를 사용하면, 일정시간 뒤에 지정한 뷰 컨트롤러로 이동하거나, 개발자가 특정 작업을 할 수 있도록 인트로 전용 스토리보드 + 클래스까지 제공하는 반면, 안드로이드는 그런것이 없기 때문에 직접 제작해야 한다. 가장 쉽게 생각할 수 있는 예제가 startAci..
[로직] 기본적으로 앱을 종료하는 명령어는 여러 개가 있다. 나같은 경우에는 기본적으로 android.os.Process.killProcess(android.os.Process.myPid()); 이 명령어를 통해서 앱을 종료시킨다.그러나 혹은 finish()로 종료시켜도 같은 효과는 나타나는데, 문제점은 현재 띄워진 액티비티가 2개 이상인 경우에는, 해당 옵션은 제일 위에 있는 액티비티만을 종료시킨다. 그러므로 새 액티비티가 띄워져 있을 때, 새 액티비티 뿐 아니라 루트 액티비티까지 같이 종료하고 싶을 때 사용하면 되겠다.finishAffinity(); System.runFinalization(); System.exit(0); Activity.finishAffinity() : 해당 앱의 루트 액티비티를 ..
[개요] 오랜만의 안드로이드 포스팅. 이번에 iOS/안드로이드 앱에 외부 앱과의 공유하기 기능을 추가하였다. 그러나 안드로이드의 경우, 외부 앱에서 현재 앱으로 전달되었을 때.. 만약 현재 앱이 백그라운드에 있는 상태였다면, 백그라운드에 있는 앱을 다시 실행시켜 작업하는 것이 아니라, 새로 인스턴스가 생기면서 앱이 새로켜지게 되어버렸다. 그래서 현재 백그라운드 앱을 검사하면, 현재 앱의 인스턴스가 2개가 되는 상황 이처럼 백그라운드 버튼을 누르면 2개의 앱이 실행되게 되는 것이다. 결국은 공식 레퍼런스를 뒤지고, 이것 저것 해보며 알게 되었지만.. 참 한국어 설명이 뭔 소린지 모르겠다. 그래서 정리한다. https://developer.android.com/guide/topics/manifest/acti..
[코드] webView.clearCache(true); webView.clearHistory(); // 자동완성은 8.0부터는 내장되어 아래 함수 안먹음 webView.clearFormData(); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { CookieSyncManager cookieSyncMngr=CookieSyncManager.createInstance(MainActivity.this); cookieSyncMngr.startSync(); CookieManager cookieManager=CookieManager.getInstance(); cookieManager.removeAllCookie(); cookieManager.removeSes..