Pregunta

He hecho un script de Python que debería modificar el perfil del teléfono en función de la posición del teléfono. Corrido en Scriptshell funciona muy bien.

El problema es que cuelga, tanto con el script "sis" ejecutado en "arranque", así como sin él.

Entonces, mi pregunta es ¿qué hay de malo en el código y también si necesito pasar parámetros especiales a 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()

El script comienza en el arranque, usando Ensymble y mi certificado de desarrollador.

Gracias por adelantado

¿Fue útil?

Solución

A menudo uso algo así en la parte superior de mis guiones:

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)

Otros consejos

Xprofile no es una biblioteca estándar, asegúrese de agregar ruta. Supongo que cuando se ejecuta como hermana, no encuentra Xprofile y cuelga. Al liberar su SIS, instríe que los usuarios instalen eso por separado o incluya dentro de su SIS.

¿Dónde lo tendrías instalado? Usa esa ruta. Aquí está el directorio predeterminado de Python como muestra:


    # 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')

Por cierto, haz una salida limpia, haz esto:


    appuifw.app.menu = [(u'Close', exit_key_handler)]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top