Flutter安卓插件使用context
在编写Flutter Android Plugin过程中,我们可能需要传入context(上下文)
由于plugin并不是继承自Activity,那么该如何获取上下文呢?
我们可以通过实现ActivityAware
来获取上下文
1.将我们的插件类实现ActivityAware
public class TestPlugin implements FlutterPlugin, ActivityAware,MethodCallHandler {
...
}
2.实现ActivityAware的方法
public class TestPlugin implements FlutterPlugin, ActivityAware,MethodCallHandler {
...
private Activity activity;
...
...
@Override
public void onAttachedToActivity(ActivityPluginBinding binding) {
activity = binding.getActivity();
}
@Override
public void onDetachedFromActivityForConfigChanges() {
this.onDetachedFromActivity();
}
@Override
public void onReattachedToActivityForConfigChanges(ActivityPluginBinding binding) {
this.onAttachedToActivity(binding);
}
@Override
public void onDetachedFromActivity() {
activity = null;
}
}
3.通过代码activity.getApplicationContext()
即可获取到当前context了