What the title says. I wanted to get a feel of the watch before spending $250.
If you're paying $250, you're getting ripped off. Amazon has the SW3 for $160.
What the title says. I wanted to get a feel of the watch before spending $250.
So, after a considerable amount of time I finally managed to properly start the NFC module in SW3. It can do all things a module on your phone can do, however, it causes elevated battery usage while doing so.
Warnings:
- This package is for build LCA43 only (can be seen in Settings->About)
- Can screw up boot if you install this on a different build and/or customized system
- Future OTA updates can also corrupt your sytem. Restore to a stock ROM before installing them.
- Make backups of system and boot partitions before installing
- Uses insecure kernel (with SElinux disabled) and disables signature checks in services.jar
- Preview/development purposes only, it disables initial tag (used for quick pairing) and causes moderate power consumption when NFC is active and screen is turned on.
Technical details:
Currently this is more of a proof-of-concept work and security was a big problem when developing. NfcService requires several permissions declared as system|signed which means it has to be signed with the same certificates used to sign the remaining system. I did not manage to do that, so I patched services.jar to ignore bad certificates.
(This paragraph is deprecated) When device boots even if NFC adapter is active, it does not get full power right away. Instead, it sets up a BroadcastReceiver to catch ACTION_SCREEN_ON and ACTION_SCREEN_OFF events to power the module only when screen is lit. However, power manager service on SmartWatch 3 never sends these broadcasts, so the module never gets a signal to turn on. I am yet to figure out why, in the meantime I patched NfcService to turn the module regardless of current screen state. It does not start consuming power until a tag is first detected, after which the battery can be drained with rate up to 50% per hour.
Features:
- Full NFC support (tag reading, writing, HCE (card emulation) and P2P (Android Beam))
- Configuration app to turn NFC module on and off
- Watchface to monitor current NFC module state
The package does not include apps to read and write tags, emulate cards and use Android Beam.
Instaling:
- If you need to omit certain components (like watchface), feel free to remove them from the package files
- Boot into recovery (I am using TWRP found here)
- Back up your system and boot partitions in case something goes wrong or you want to remove the package
- Push the package using adb:
Code:adb push nfc.zip /sdcard/nfc.zip
- Tap "Install" on the screen
- Locate nfc.zip
- Install it
- Boot into system
Uninstalling:
- Restore system and boot partitions from your backup
Usage:
- You can control your NFC module using NFC Configuration app
- If you want to monitor NFC module state all the time, use NFC Status watchface (long tap on the screen to set up)
- To view a tag install tag editing app via adb
Example code to check NFC:
Code:NfcManager nfcManager = (NfcManager)this.getBaseContext().getSystemService(Context.NFC_SERVICE); NfcAdapter nfcAdapter = nfcManager.getDefaultAdapter(); boolean isAdapterEnabled = (nfcAdapter != null) && nfcAdapter.isEnabled();
Changes:
- 08.10.2015 0.2 Fixed constant battery drain. Reduced tag polling rate.
- 07.10.2015 First release
Thanks:
- crpalmer for his kernel build configs
- Michael Roland for his article on NFC support in SW3
- Cyanogenmod team (CM was used to build NFC binaries)
I am diabetic and when I realised that was possible to use the SW3 for read my freestyle libre sensor I decided to active the NFC in my watch. Now, I running without phone and I can check my glucose, now I can use my sensor with more discretion. .. thanks a lot!!!
Enviado desde mi SM-N910F mediante Tapatalk
Hi,I've been trying to get this to work too but I have a newer build number and haven't managed to downgrade to the correct one, did you have to downgrade? If so, did you use any guide and would you mind linking?
Hi,
This was the guide I have followed.
https://github.com/pimpimmi/LibreAlarm/wiki/How-to-install-NFC-on-Sony-Smartwatch-3
Good luck!
Enviado desde mi SM-N910F mediante Tapatalk
No, I don't remember that I had any problem connecting via ADB. Sorry but it was some time ago when I update my Sw3 for NFC support.Did you get any issues with connecting via ADB?, for some reason I get an error device not found. I'm using the core Google Inc ADB drivers too.
It works great for me so far and I can relay NDEF URI to my phone directly using a wearable+phone android app.
Question is: Is anyone working on building an NFC-supported version of Google Wear 2 beta yet?
I am not sure how the package works but willing to help create the NFC-supported version of Google Wear 2 beta if the details are given.
So, after a considerable amount of time I finally managed to properly start the NFC module in SW3. It can do all things a module on your phone can do, however, it causes elevated battery usage while doing so.
Warnings:
- This package is for build LCA43 only (can be seen in Settings->About)
I just got a new SWR50 for the sole purpose of using NFC (with FreeStyle Libre). When turned on for the first time watch automatically upgrades to M1D64T and I don't seem to be able to stop that and don't seem to be able to downgrade to be able to use this package. Any suggestions?
Thanks
adb push nfc.zip /sdcard/nfc.zip
NfcManager nfcManager = (NfcManager)this.getBaseContext().getSystemService(Context.NFC_SERVICE);
NfcAdapter nfcAdapter = nfcManager.getDefaultAdapter();
boolean isAdapterEnabled = (nfcAdapter != null) && nfcAdapter.isEnabled();
Yes, it does so only when the service is turned on in the settings. More specifically, when you turn it on, power consumption (and heat) raise a little bit, but not dramatically. That is until you bring a tag nearby which causes a lot of heat and battery drain. If you turn the service off, however, the watch goes back to normal (no need to reboot).Question though: You said it is causes severe power consumption. I assume this is only when NFC is on all the time (even when device is in ambient mode)? Can NFC be set to run only when device is fully on?
I think so. I am currently working on a solution, which will most likely be finding a way to broadcast ACTION_SCREEN_* messages.
It is fairly easy in my opinion but I'm super busy until about October. We have to build wearos with android.hardware.nfc enabled. Also for the TWP3. Also I'll continue making Nexmon for bothHey were you able to get this working? I have a tic pro and wanted to try this.