我正在努力运行python脚本,这应该允许我使用nfcpy将文本写入标签。代码从https://code.launchpad.net/nfcpy下载
我在我的Android设备上安装了LS4A,但是当我尝试运行该程序时,shell告诉我我错过了import nfc
包。我试过谷歌,但没有帮助。所以有人能告诉我应该如何解决这个问题吗?
#!/usr/bin/python
# -*- coding: latin-1 -*-
# -----------------------------------------------------------------------------
# Copyright 2011 Stephen Tiedemann <stephen.tiedemann@googlemail.com>
#
# Licensed under the EUPL, Version 1.1 or - as soon they
# will be approved by the European Commission - subsequent
# versions of the EUPL (the "Licence");
# You may not use this work except in compliance with the
# Licence.
# You may obtain a copy of the Licence at:
#
# http://www.osor.eu/eupl
#
# Unless required by applicable law or agreed to in
# writing, software distributed under the Licence is
# distributed on an "AS IS" basis,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
# express or implied.
# See the Licence for the specific language governing
# permissions and limitations under the Licence.
# -----------------------------------------------------------------------------
import os
import sys
import time
sys.path.insert(1, os.path.split(sys.path[0])[0])
import nfc
import nfc.ndef
import nfc.ndef.Text
def main():
clf = nfc.ContactlessFrontend()
print "Please touch a tag to send a hello to the world"
while True:
tag = clf.poll()
if tag and tag.ndef:
break
text_en = nfc.ndef.Text.TextRecord( ("en", "Hello World") )
text_de = nfc.ndef.Text.TextRecord( ("de", "Hallo Welt") )
text_fr = nfc.ndef.Text.TextRecord( ("fr", "Bonjour tout le monde") )
message = nfc.ndef.Message( [text_en, text_de, text_fr] )
tag.ndef.message = message.tostring()
print "Remove this tag"
while tag.is_present:
time.sleep(1)
print "Now touch it again to receive a hello from the world"
while True:
tag = clf.poll()
if tag and tag.ndef:
break
message = nfc.ndef.Message( tag.ndef.message )
for record in message:
if record.type == "urn:nfc:wkt:T":
text = nfc.ndef.Text.TextRecord( record )
print text.language + ": " + text.text
if __name__ == '__main__':
main()
提前致谢!
答案 0 :(得分:0)
假设您按照此处显示的方式运行了代码,但您没有import android
等等。
无论如何,sl4a api还不支持nfc。