mannprerak2 / nearby_connections

Flutter plugin (android) for sharing bytes and files Offline, (Based on the android Nearby Connections API)
https://pub.dev/packages/nearby_connections
BSD 2-Clause "Simplified" License
94 stars 30 forks source link

Wondering about the required Bluetooth and location settings #12

Closed TJMusiitwa closed 4 years ago

TJMusiitwa commented 4 years ago

Hey there, fantastic work getting this plugin up... (Got a project coming up that will really benefit from it)

However, I'm wondering in that project I'll be working and targeting a number of users who while know about technology, if like to make implementing and using this tech very simple.

For that case I'm wondering why is it that your plugin doesn't automatically handle the case of turning on the Bluetooth and location settings, performing the session then returning the device to it's original state; unlike how the native Connections API works?

Or could I be mistaken that, that is how also the native API works?

Thanks

mannprerak2 commented 4 years ago

Hi, glad to know that this plugin is coming to good use :)

This plugin does automatically manage wifi and Bluetooth states and restores it back to the original state afterwards, this is simply a wrapper to the underlying android nearby connections library.

Location, however, is a different scenario, you must ask the user to turn on the location manually or do so by using some other plugin, otherwise devices tend to disconnect often. Location is something which cannot be turned on automatically on android, even apps like google map need to ask for the same at runtime.

TJMusiitwa commented 4 years ago

I understand so even though I'm not going to be using location with the API, it will still need to be turned on for the duration of the session...

Okay then thanks... Now if only someone smart enough could work on getting the iOS MultipeerConnectivity API either integrated into this one or as a separate instance would really make my project cross platform with feature parity.... otherwise, it'll have to be Android only first

mannprerak2 commented 4 years ago

Yes, turning on location is required, and I am not quite sure why its required :p, but i guess it probably helps strengthen the signal or something..

Note that android to iOS communication will still not be possible even after someone implements the multipeer connectivity package.

TJMusiitwa commented 4 years ago

Yes of course I knew that. I was just saying being able to implement iOS to iOS device communication with MPC and Android to Android communication with Nearby Connections. Okay then Thanks alot.