背景
(本文翻译自YouTube视频:https://www.youtube.com/watch?v=NXuAzXY_KOo&t=572s)
Android和iOS在后台服务的处理方式不同,因此Flutter并没有在这方面做统一处理,而是需要调用原生平台的代码来实现该功能,下面就简单介绍如何在Flutter中与Android的后台服务进行交互。
实现
- 在Flutter中有一个按钮,点击后会开启后台服务。此外建立了一个MethodChannel,通过该通道去调用Android原生代码里的 startService()。
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: RaisedButton(
child: Text("开启后台任务"),
onPressed: () {
startService();
},
),
)
);
}
void startService() async{
if(Platform.isAndroid) {
var methodChannel =