java.lang.NoSuchMethodError: com.android.nfc.VNfcService#checkScreenState()#bestmatch
at de.robv.android.xposed.XposedHelpers.findMethodBestMatch(XposedHelpers.java:233)
at de.robv.android.xposed.XposedHelpers.findMethodBestMatch(XposedHelpers.java:284)
at de.robv.android.xposed.XposedHelpers.callMethod(XposedHelpers.java:947)
at pk.qwerty12.nfclockscreenoffenabler.NFCLockScreenOffEnabler$PresenceCheckWatchdogRunHook.beforeHookedMethod(NFCLockScreenOffEnabler.java:397)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:636)
at com.android.nfc.dhimpl.NativeNfcTag$PresenceCheckWatchdog.run(Native Method)
In 5.0 the module didn't enable screenoff-reading. That was fixed by my .apk mod so using mod+xposed you get the full functionality.Well, it'd sure be nice if this could work on Lollipop. I haven't installed Xposed yet, but Etnoy, you say NFC removal is detected, so what is it that doesn't work? Can't intercept the intent in Tasker?
That looks like from Kitkat, for that you shouldn't need any modded apk but just the Xposed module.
I'm using this with Tasker:
Intent Received, Action=android.nfc.action.TAG_CHANGED
Variable Set: %NFCTAGID to %tag_uuid if %tag_present ~ true
Variable Clear: %NFCTAGID if %tag_present ~ false
And then in my tasks I just listen for %NFCTAGID set/cleared
Just the module doesn't work anymore, you also need a modded nfc.apk. e.g. from http://xdaforums.com/showpost.php?p=59941326&postcount=497 (and related posts)I can't seem to get this working with my Nex 6. I'm on 5.1.1 (LMY48I).
I have Xposed and other modules working perfectly but this one doesn't want to work...
Any ideas?
Thanks in advance!
Just the module doesn't work anymore, you also need a modded nfc.apk. e.g. from http://xdaforums.com/showpost.php?p=59941326&postcount=497 (and related posts)
Are you using the official Google ROM? If so you might be lucky and someone in the thread might have posted a modded apk already (though you'll have to go to all pages after my post to look for it ).Thanks for the link! I'm giving it a whirl now but I seem to be stuck on step 5. I can't find "classes.dex" in the NfcNci.apk that I pulled off of my Nexus 6.
Are you using the official Google ROM? If so you might be lucky and someone in the thread might have posted a modded apk already (though you'll have to go to all pages after my post to look for it ).
If there's no classes.dex in the apk you'll probably have a .odex file next to the apk? If so you'll have to deodex that file first to get the classes.dex (http://www.xda-developers.com/deodex-all-the-things-with-universal-deodexer/), then afterwards delete the .odex and have only the modded apk. Remember to make backup first!
I'm a bit stucked here too.
First ID TAG is longer than the op, and rather looks like AABBCCDDEEFFGG. It can be easily found when adding the tag in "autorized" list
Applying tag on my phone, enable screen when locked ... I guessed it's the general purpose/behavior and module is correctly installed
But intents doesn't seem to work : "discovered" and "lost" ones doesn't launch the basic tasks created (toast notification only for debug)
I didn't match any revelent information within logcat, even so I enabled the debug option.
Checked the intent spellcheck... I may be blind.
Anyone got a working tasker export I can adapt ?
Hello Mohammad,
i hope this log is better?
Code:10-04 18:05:38.017: W/System.err(1143): java.lang.NullPointerException 10-04 18:05:38.017: W/System.err(1143): at pk.qwerty12.nfclockscreenoffenabler.NFCLockScreenOffEnabler$PresenceCheckWatchdogRunHook.afterHookedMethod(NFCLockScreenOffEnabler.java:146) 10-04 18:05:38.017: W/System.err(1143): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:483) 10-04 18:05:38.017: W/System.err(1143): at com.android.nfc.nxp.NativeNfcTag$PresenceCheckWatchdog.run(Native Method)
greets,
marcel
mohammad@mohammad-i5desktop:~$ adb shell am broadcast -a pk.qwerty12.nfclockscreenoffenabler.UNLOCK_DEVICE
Broadcasting: Intent { act=pk.qwerty12.nfclockscreenoffenabler.UNLOCK_ATTEMPT_INTERCEPTED }
Broadcast completed: result=0