My Phone is a desktop application that allows you to link your phone (supports Android, iOS, and Windows Phone) to your Windows 10/11 PC via Bluetooth without having to install a companion app on your phone.
Feature | Phone Link | My Phone |
---|---|---|
Calling | ✔ | ✔ |
SMS messaging | ✔ | ✔1 |
Phonebook access | ✔ | ✔1 |
App Notifications | ✔ | ✔2 |
Share photos and files | ✔ | ❌ |
Use mobile apps from PC | ✔3 | ❌ |
Supported mobile devices | ⚠Android Only | ✔Android, iOS, Windows Phone, and all Bluetooth-HFP-enabled devices |
1
: will be implemented in v1.0 this summer2
: will be implemented in the future3
: only available for some selected Android devices This app use Windows Runtime APIs: Windows.ApplicationModel.Calls
, Windows.Devices.Bluetooth
and Windows.Devices.Enumeration
to make the HFP works.
Windows.Devices.Enumeration
API to enumerate available PhoneLineTransportDevice
(i.e. paired Bluetooth devices that support HFP),PhoneLineTransportDevice.RegisterApp
to register the device for HFPPhoneLineTransportDevice.Connect
to connect to the deivice (establishes HFP Service Level Connection).Windows.Devices.Enumeration
API to enumerate available PhoneLine
, then call PhoneLine.Dial
Note that Microsoft's Phone Link use the same APIs mentioned above.
The above APIs have very limited functionality. They can only be only used for call control. If you need to handle raw audio stream or something else, you need to write a custom user-mode profile driver (more information here).
Actually, I did try to implement HFP stack before but eventually gave up because the MSIX package does not support installing drivers. I managed to establish the HFP Service Level Connection (SLC) and successfully make the phone call via SLC, but failed to establish SCO audio connection and transfer any audio. If you're interested in how to establish HFP Service Level Connection, you may find the source code here.
git clone https://github.com/BestOwl/MyPhone.git
MyPhone.sln
with Visual StudioMyPhone
as startup projectMyPhone (Package)