working on bluetooth

This commit is contained in:
Thomas Atkins 2021-04-10 15:19:32 -05:00
parent 5b8922e68a
commit 27bb819cc9
3 changed files with 41 additions and 4 deletions

View File

@ -6,7 +6,7 @@ import 'dart:math';
void main() async { void main() async {
runApp(App()); runApp(App());
final prefs = await SharedPreferences.getInstance(); final prefs = await SharedPreferences.getInstance();
final id = prefs.getString('id') ?? '0'; final userName = prefs.getString('userName') ?? '0';
if (id == '0') { if (id == '0') {
prefs.setString('id', Random().nextInt(10000).toString()); prefs.setString('id', Random().nextInt(10000).toString());
} }

View File

@ -31,10 +31,10 @@ class _BluetoothPageState extends State<BluetoothPage> {
child: Text("GetID"), child: Text("GetID"),
onPressed: () async { onPressed: () async {
final prefs = await SharedPreferences.getInstance(); final prefs = await SharedPreferences.getInstance();
final id = prefs.getString('id'); final userName = prefs.getString('userName');
ScaffoldMessenger.of(context) ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text("Id is $id"))); .showSnackBar(SnackBar(content: Text("Id is $userName")));
}, },
), ),
), ),

View File

@ -7,4 +7,41 @@ import 'package:nearby_connections/nearby_connections.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
class Connect {} class Connect {
void startConnect() async {
final prefs = await SharedPreferences.getInstance();
final userName = prefs.getString('userName') ?? " ";
final Strategy strategy = Strategy.P2P_STAR;
final serviceId = "com.yourdomain.appname";
try {
bool advertise = await Nearby().startAdvertising(
userName,
strategy,
onConnectionInitiated: (String id, ConnectionInfo info) {
// Called whenever a discoverer requests connection
},
onConnectionResult: (String id, Status status) {
// Called when connection is accepted/rejected
},
onDisconnected: (String id) {
// Callled whenever a discoverer disconnects from advertiser
},
serviceId: serviceId, // uniquely identifies your app
);
bool discovery = await Nearby().startDiscovery(
userName,
strategy,
onEndpointFound: (String id, String userName, String serviceId) {
// called when an advertiser is found
},
onEndpointLost: (String? id) {
//called when an advertiser is lost (only if we weren't connected to it )
},
serviceId: serviceId, // uniquely identifies your app
);
} catch (exception) {
// platform exceptions like unable to start bluetooth or insufficient permissions
}
}
}