Ionic BLE Connection Issues - ionic-framework

I'm using the Ionic Native BLE plugin to scan and connect to bluetooth devices. I'm able to get the plugin to list available devices, but I'm unable to get it to show already paired devices. This is the plugin I'm using:
https://ionicframework.com/docs/native/ble/
After searching through the documentation and finding examples, I've come to the conclusion that using this plugin to list already paired devices is just not possible. Is this the correct conclusion?
If so, do you know of any other plugins I could use to facilitate the looking up of paired bluetooth devices? I'm using Ionic 3.

We have been working on a simple BLE button and had the same issues. The only way we found out how to do this was to disconnect the button on app close (which the latest BLE version seems to do). We save the device ID (localStorage) when a user connects a device and then when the app starts up again the user has to wake up the device and the app starts scanning on startup. If the saved device id is the the id as your locally saved id it connects automatically.

If you, or anyone, wants to try other plugin, you can also try this: https://ionicframework.com/docs/v3/native/bluetoothle/
I first started using the same plugin that you use. After I encountered some difficult issues due to the strange operations of some bluetooth devices, I tried the second plugin and I found it to be better. That was three years ago and I can't say how the other plugin has improved in the present. One thing I like with the bluetoothle plugin is that it has many methods available and that gives more control to the bluetooth operations. You can look at these methods in its repo:
https://github.com/randdusing/cordova-plugin-bluetoothle

Related

Anyone knows whay Flutter_beacon Randomly stops working or may suggest another plugin

I'm using flutter_beacon plugin, It was working awesome on android. Ranging the close devices and getting the information that the beacon was broadcasting. But now, It suddenly stops reading the information, as the beacon would have disappeared. Any suggestions how to fix this??
The library im using is this one:
https://pub.dev/packages/flutter_beacon
There are lots of reasons an Android device might fail to detect beacons. The flutter_beacon plug-in you mention is built in top of the Android Beacon Library, which is the most widely used beacon library for Android.
You may want to try out that library’s reference app for Android (or the BeaconScope app for Android which is also built upon that same library.) If you find that these native apps have a similar problem on your device, then the problem may be device-specific.
The Android Beacon Library has a troubleshooting page that may be useful to you. Many of the same checks will be applicable to using the flutter_beacon plug-in.

How to exchange data and files between two devices by NFC using Flutter?

I am a flutter developer, I want to make an application to exchange messages and files by using NFC technique
I used nfc_in_flutter plugin for reading and writing NFC tags but I don't know how to send and receive data and files between devices by using NFC in flutter.
Could any one help me, please?
Generally you don't try and send data between 2 devices using NFC, there is a standard for it, but most devices don't support it (it has never been supported on iOS and Android has dropped support for it as it was unreliable)
Use Bluetooth or Wifi Direct instead.
Update:
If you have to use NFC then the nfc_in_flutter plugin is no use, you are going to have to call native code for each platform yourself / write your own plugin.
And for 2 iOS devices, then forget it, just not possible because of what the OS supports.
When one device is an Android there is a complicated method that some people have had some success with but it still has it's issue.
The Android device does Host Card Emulation (HCE) and pretends to be a really Type 4 NFC tag, then other devices can read/write to it as if it were a real Tag which both iOS and Android Support. BUT on older Android devices then the deprecated Android Beam might get in the way and you would need to use enableReaderMode to do the read/write on Android.
You will need to put in a lot of error handle in the read/write App as NFC comms is very slow and very prone to loosing the connection, so it would have to handle loosing the connection and restarting where it last successful read from/written to.
All these problems make this extremely difficult to achieve a workable solution and was the main reason Google removed Android Beam for Android to Android sharing (which does use a NFC peer to peer protocol)

Create Samsung Smart TV Offline Application

I've been asked to create a Samsung Smart TV offline App but I really don't know what it means to Offline Application.
The client said me
The app has no GUI. It's not like a regular app. The TV will be
pointed to a URL. That URL has specific Samsung TV instructions to
download the files and when the TV has it, it will open the zip and
display the content as required.
I've setup the development environment and have studied about Samsung AppsFramework and learned how to start an application but really confusing about the offline Application.
Could anybody please make me understand that what the client does exactly want?
Thanks
What the client wants in my opinion is an app that can work on the smart TV without having to connect to the internet.
It would obviously need to connect to obtain the download files, but once the app is installed it will have offline functionality and not need to connect to the internet to run.
Have a look at http://electron.atom.io/ to build cross platform applications like this.
It is really difficult to say what they mean by offline as we dont have a brief. But offline generally refers to an app that has everything in the initial download. Example, a dictionary app will have all of the words and definitions in the download so they are always available even if the device is not connected.
Hope this helps
Samsung API provides interface for reading and writing files so you can download and store something for later offline use.
Alternatively you can use localStorage API.
The app has no GUI
This part is strange. Launched app occupy whole screen. You need some use-case description from client. Find out what problem is your client want to solve with this app.

Custom Android Emulators

I currently have an Android app on the Android Market. One of it's main purposes involves detecting incoming calls. Unfortunately, some phone models don't seem to be detecting this correctly. The version of Android isn't the problem (other phones with 2.1 and 2.2 work fine), so I'm wondering if the phones have something unique about them.
Because the main phone I've had problems with is the Epic 4g, I was hoping to get an emulator running simulating the phone. Is it possible to do this? I don't know anyone that personally has that model of phone, so this seems like my only option to debug the issue.
Thanks!
I've found this for Motorola Phones
which has helped me.
Generally, the emulator is based on QEMU, so it can be configured deeply. But thats not very useful as it is hard to get the actual hardware specs of any specific device as long it's developing company don't like to talk and share their secrets and flaws.
This said, it would be quite easy for an phone company insider to set up an exact emulator but very hacker style to set up for ourselves, needing days of investigation on the actual phone to check out its hardware details.

Is there a way to test Android, iPhone push notification without having one?

I need to create a push notification webservice for Android & iPhone, but I actually own an Iphone only, I'd like to be able to test on my machine the push notification.
I don't know anything to mobile device or development.
In order to push messages to Android using the Google Cloud to Device messaging (C2DM) requires an application on the device which has registered to the C2DM servers to receive push notifications. AFAIK, you cannot do a generic push (using C2DM) which will be received by all applications.
For more info on C2DM you can look at the documentation here and a good article can be found here.
You could download the Android SDK. It gives you the basic stuff you need to get up and running.
If you want a virtual machine, you can set one up using this guide. I set this up and it was pretty painless. I don't know how current it is, but it will at least get you something to work with.