官方源代码:https://github.com/flutter/flutter/tree/master/examples/platform_channel
flutter入门(推荐):
https://github.com/alibaba/flutter-common-widgets-app
重点:
MainActivity:
CHARGIN_CHANNEL=samples.flutter.io/charging
EventChannel(flutterView, CHARGIN_CHANNEL).setStreamHandler(object : EventChannel.StreamHandler
final var BATTERY_CHANNEL: String = “samples.flutter.io/battery”
MethodChannel(flutterView, BATTERY_CHANNEL).setMethodCallHandler(
main:
static const EventChannel eventChannel=
EventChannel(‘samples.flutter.io/charging’);
static const MethodChannel methodChannel=
MethodChannel(‘samples.flutter.io/battery’);
注意:两者必须一致
Mactivity.class
package com.flutterlayer
import android.content.*
import android.os.BatteryManager
import android.os.Build
import android.os.Bundle
import io.flutter.app.FlutterActivity
import io.flutter.plugin.common.EventChannel
import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity() : FlutterActivity() {
final var CHARGIN_CHANNEL: String = "samples.flutter.io/charging"
final var BATTERY_CHANNEL: String = "samples.flutter.io/battery"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(this)
//充电监听
EventChannel(flutterView, CHARGIN_CHANNEL).setStreamHandler(object : EventChannel.StreamHandler {
lateinit var chargingStateChangeReceiver: BroadcastReceiver
override fun onListen(p0: Any?, p1: EventChannel.EventSink?) {
chargingStateChangeReceiver = createChargingStateChangeReceiver(p1!!)
registerReceiver(chargingStateChangeReceiver,