keyboard_detection_third_party 0.0.5
keyboard_detection_third_party: ^0.0.5 copied to clipboard
This plugin helps to detect whether the user is using System Keyboard or Third party keyboard in Android device. And it will provide functionality to open system keyboard manager to change keyboard.
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:keyboard_detection_third_party/keyboard_detection_third_party.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String keyboardErrorStatusMsg = '';
bool? _isThirdPartyKeyboardUsing;
@override
void initState() {
super.initState();
initPlatformState();
}
// Platform messages are asynchronous, so we initialize in an async method.
Future<void> initPlatformState() async {
String errorMsg = '';
bool? isThirdPartyKeyboardUsing;
// Platform messages may fail, so we use a try/catch PlatformException.
try {
isThirdPartyKeyboardUsing =
await KeyboardDetectionPlugin.isThirdPartyKeyboardUsing;
} on PlatformException {
errorMsg = 'Failed to get the keyboard status.';
}
// 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;
setState(() {
_isThirdPartyKeyboardUsing = isThirdPartyKeyboardUsing;
keyboardErrorStatusMsg = errorMsg;
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'ThirdPartyKeyboardStatus: ${_isThirdPartyKeyboardUsing ?? "Unknown"}\n$keyboardErrorStatusMsg',
textAlign: TextAlign.center,
),
const SizedBox(height: 20),
ElevatedButton(
onPressed: () async {
await KeyboardDetectionPlugin.openKeyboardChangeManager;
},
child: const Text("Open Keyboard Manager"),
)
],
),
),
),
);
}
}