Dart
############################
import 'dart:async';
import 'package:flutter/services.dart';
class Logitmeplugin {
static const MethodChannel _channel =
const MethodChannel('net.plzft.poc_od');
static Future<String> get platformVersion async {
final String version = await _channel.invokeMethod('getPlatformVersion');
return version;
}
static Future<bool> get isRegisteredToBackend async {
final bool version = await _channel.invokeMethod('isRegisteredToBackend');
print(version);
return version;
}
}
###########################################################
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:logitmeplugin/logitmeplugin.dart';
import 'package:shared_preferences/shared_preferences.dart';
class InitPage extends StatefulWidget {
@override InitPageState createState() => InitPageState();
}
class InitPageState extends State<InitPage> {
@override void initState() {
super.initState();
setState(() {
_isRegisteredToBackend = null;
});
initIsRegisteredToBackend();
initVibrateState();
}
void initVibrateState() async {
final prefs = await SharedPreferences.getInstance();
prefs.setInt('notifications', 1);
}
//static const platform = const MethodChannel('net.plzft.poc_od');
bool _isRegisteredToBackend = false;
bool isRegisteredToBackend() {
return _isRegisteredToBackend;
}
Future<void> initIsRegisteredToBackend() async {
bool temp;
// Platform messages may fail, so we use a try/catch PlatformException.
try {
temp = await Logitmeplugin.isRegisteredToBackend;
} on PlatformException {
temp = false;
}
// If the widget was removed from the tree while the asynchronous platform
// message was in flight, we want to discard the reply rather than calling
// setState to update our non-existent appearance.
if (!mounted) return;
if (!temp && _isRegisteredToBackend != temp) {
log('_isRegisteredToBackend: $temp');
setState(() {
_isRegisteredToBackend = temp;
});
Navigator.popAndPushNamed(context, '/welcome_page');
}
if (temp) {
Navigator.popAndPushNamed(context, '/home_page');
}
}
@override Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
crossAxisAlignment:
CrossAxisAlignment.center,
children: [
new CircularProgressIndicator(),
],
),
),
);
}
}