센서 및 Xprofile 모듈이있는 Nokia N95 및 Pys60
문제
전화 위치에 따라 전화 프로필을 수정 해야하는 파이썬 스크립트를 만들었습니다. Scriptshell 아래에서 실행되어 훌륭하게 작동합니다.
문제는 "부팅 업"에 실행 된 "sis"스크립트와 함께 매달린다는 것입니다.
제 질문은 코드에 어떤 문제가 있는지, 또한 특수 매개 변수를 Ensymble에 전달 해야하는지 여부입니다.
import appuifw, e32, sensor, xprofile
from appuifw import *
old_profil = xprofile.get_ap()
def get_sensor_data(status):
#decide profile
def exit_key_handler():
# Disconnect from the sensor and exit
acc_sensor.disconnect()
app_lock.signal()
app_lock = e32.Ao_lock()
appuifw.app.exit_key_handler = exit_key_handler
appuifw.app.title = u"Acc Silent"
appuifw.app.menu = [(u'Close', app_lock.signal)]
appuifw.app.body = Canvas()
# Retrieve the acceleration sensor
sensor_type= sensor.sensors()['AccSensor']
# Create an acceleration sensor object
acc_sensor= sensor.Sensor(sensor_type['id'],sensor_type['category'])
# Connect to the sensor
acc_sensor.connect(get_sensor_data)
# Wait for sensor data and the exit event
app_lock.wait()
스크립트는 Ensymble 및 개발자 인증서를 사용하여 Boot에서 시작됩니다.
미리 감사드립니다
해결책
나는 종종 내 스크립트 맨 위에 그런 것을 사용합니다.
import os.path, sys
PY_PATH = None
for p in ['c:\\Data\\Python', 'e:\\Data\\Python','c:\\Python','e:\\Python']:
if os.path.exists(p):
PY_PATH = p
break
if PY_PATH and PY_PATH not in sys.path: sys.path.append(PY_PATH)
다른 팁
Xprofile은 표준 라이브러리가 아니므로 경로를 추가해야합니다. 내 생각에 SIS로 달리면 Xprofile을 찾지 못하고 전화를 끊을 것입니다. SIS를 출시 할 때 사용자가이를 별도로 설치하거나 SIS 내부에 포함하도록 지시하십시오.
어디에 설치했을까요? 샘플로 Python Default Directory는 다음과 같습니다.
# PyS60 1.9.x and above
sys.path.append('c:\\Data\\Python')
sys.path.append('e:\\Data\\Python')
# Pys60 1.4.x or below
sys.path.append('c:\\Python')
sys.path.append('e:\\Python')
BTW는 깨끗한 출구를 만듭니다.
appuifw.app.menu = [(u'Close', exit_key_handler)]
제휴하지 않습니다 StackOverflow