본문 바로가기
개발자 : devZucca;/Flutter

[Flutter] 안드로이드 생명주기에 따라 플러터 호출하기

by ZUCCA 2020. 9. 10.
반응형
//flutter
import 'package:flutter/services.dart';
@override
void initState() {
  super.initState();
  print('initState');
  new MethodChannel("flutter.temp.channel").setMethodCallHandler(platformCallHandler);
}

Future<dynamic> platformCallHandler(MethodCall call) async {
  if (call.method == "destroy"){
    print("destroy");
    dispose();
  }
}

 

//MainActivity.java
@Override
protected void onStop() {
    super.onStop();
    Log.i("=== MainActivity ===", "onStop: ");
    new MethodChannel(getFlutterView(), "flutter.temp.channel").invokeMethod("destroy", null, null);
}

@Override
protected void onDestroy() {
    super.onDestroy();
    Log.i("=== MainActivity ===", "onDestroy: ");
    new MethodChannel(getFlutterView(), "flutter.temp.channel").invokeMethod("destroy", null, null);
}

 

플러터로 개발하며, 안드로이드 생명주기에 따라 다르게 동작하는 기능을 구현해야 할 때가 있는데, 의외로 자료가 많이 없더군요.

 

여기 예제를 참고하셔서 실행시켜 보시고 콘솔에 출력해보시면 아주아주 잘됩니다.

 

플러터에서 구현하기 어려운 동작들도 네이티브 코드 조금만 수정하면 쉽게 구현할수 있습니다!!

반응형