app that simulates bluetooth device (printer) - android

Is it possible to create an andorid application, that can simulate bluetooth device? I want make Android OS to think, that it is connected to the bluetooth device, which is actualy simulated by my application.
Scenario: user will install my app, and voilĂ , there is my virtual bluetooth device - actually, it is printer. I need it to work on non-rooted devices.
Reason: some guys are too lazy to support other bluetooth printers, so I want to simulate the supported bluetooth printer and print the data on another bluetooth printer.
FYI: I did't found, that it is not possible. I know, that emulator can not simulate it, but ShadowBluetoothAdapter from robolectric can.

Related

Connecting an Android Device with a BLE Peripheral without using an App

I am new to Android programming and was wondering if it was possible to connect an Android device with a BLE Peripheral, without needing an App.
I am experimenting with the Node.js package "bleno" for the peripheral and connecting using an app and even a webapp are working just fine, but connecting using the standard android settings functions dont work. The device does find my peripheral after scanning but when I try to connect with it it always returns that I need an app.
Is this a problem of bleno or does this not work that way in generell?
If the peripheral has for example a HID GATT service exposed, then you can pair and connect to it through the system settings. This means BLE keyboards and mice can be used without any app.
If your peripheral only has custom services or only services the OS knows nothing about, then you will need some app to connect to it.

connect to HID keyboard device as input device in android pragmatically

I have HID BLE keyboard which normally when I want to connect to it in android os environment, I go to Bluetooth page, search for it then tap on keyboard name and connect to it.
now I want to know that can I write an app that automatically finds the device and then connect to it as an input device or not?
I'm already read the documents about BLE communication in Android, but none of them does not explain how to connect HID keyboard as an input device looks like android itself connect to it.
No the public API does not allow you to activate the "use as only device" switch shown in the Android Bluetooth Settings UI.
However up to Nougat you can do it with Reflection. Just read the source code of the Settings app and do the same thing.
Yes! you can search the nearby bluetooth devices and you can connect to the device.
The transmitting of data is depends on the Device UUID. as per bluetooth standards bluetooth UUID standards you need to use UUID = 00000011-0000-1000-8000-00805F9B34FB to connect HID devices
Here is the link for a sample project.

Bluetooth Low Energy Device Simulator/Emulator

For quite some time now, I have had a keen interest with the Bluetooth Low Energy (BLE) Protocol version 4.0 and how it works. I have developed an android application that would serve as a central device to the BLE peripheral device. The problem is the BLE device is not yet ready and I would like to know if there is a simulator or an emulator for BLE devices that can interact with my android application installed in my smartphone.
The easiest way to do that without any specific additional HW is to use another Android or iOS mobile phone acting as a peripheral emulating the BLE device that's not ready yet. Thus, you'll be able to test your Central role Android app in a simple way.
All you have to do is download one of the following apps for example, set up your services and characteristics and start playing.
[Android]: nRF Connect for Mobile
[iOS]: nRF Connect for Mobile or LightBlue

Controlling Bluetooth headset v4.1 connection from an app

I have a bluetooth earphones v4.1 which connects directly from phone's bluetooth settings.
but i want to control their connection from a particular app only, that means they wont be able to connect from the mobile settings and will be connected only if the app is running in the background.
please help me solve it, can it be controlled with some changes at hardware firmware level or can be done from the app itself?
Thank you
On iOS, CoreBluetooth is meant to connect only with Bluetooth Low Energy devices. Headsets are not BLE devices, so what you want cannot be done, at least not on iOS

How to build this android app (Bluetooth technology)

I am a little confused on how to build this android app. Here's how it should work. I have a list of paired bluetooth devices. Lets say paired devices are:
1. A bluetooth head set.
2. A mobile phone.
And my app should automatically connect only to my headset when ever it comes in range.
Thats the basic functionality. I have been doing some research on bluetooth technology and its implementation. I came across the bluetooth chat application, when I started using the application I realized that both phones should have the app on it in order to connect and exchange messages. I tried connecting to my headset but it doesnt connect. And also when I removed the bluetooth chat app from one of my device and tried to connect it from a device which had bluetooth chat app, the devices couldnt connect.
If you have already worked on bluetooth this might look very simple. But how can I connect to a bluetooth device from my app when ever its in range even if the other device doesnt have my app.
Thanks.
This will be a 2 sections answer:
-To connect to a Bluetooth Headset, check my answer on here
-To Always connect to that device, you can save device address to memory then create a service with BroadCastReciever that listens for Bluetooth Connectivity. and check which device gets connected and compare it address to the one save in memory once its finds it connected call ibth.connect(device). ibth is inside the above link.

Categories

Resources