Qpython OL: тип org.json.JSONArray не может быть преобразован в JSONObject в makeIntent()

#python #android-intent #qpython #jsonexception

#python #android-намерение #qpython #исключение jsonexception

Вопрос:

Я пытаюсь создать намерение, используя androidhelper в Qpython OL приведенный ниже код:

 action = "org.escpos.intent.action.PRINT"
packagename =  "com.loopedlabs.escposprintservice" #  target application
data = data # convert data to PDF byte array format
extras = {
         'DATA_TYPE':'PDF',
        'PDF_DATA' : data # raw PDF data
}
intent = droid.makeIntent( # make an intent
    action = action,
    packagename = packagename,
    extras = extras
)
 

Но у меня возникает следующая ошибка:

 org.json.JSONException: Value [2,{"extras":{"DATA_TYPE":"PDF","PDF_DATA":"4"},"categories":null,"action":"org.escpos.intent.action.PRINT","flags":268435456},null] at 0 of type org.json.JSONArray cannot be converted to JSONObject
 

Кроме того, я не нашел ни одного рабочего примера android.makeIntent() . Может кто-нибудь помочь, пожалуйста?

Ответ №1:

Я думаю, что что-то пошло не так extras . Какой ваш data ? Вы уверены, что его можно вызвать таким образом?

Вот рабочий makeIntent пример. Это работает на моем телефоне:

 #-*-coding:utf8;-*-
#qpy:2
#qpy:console

from androidhelper import Android
droid = Android()
uri2open = "https://google.com"
intent2start = droid.makeIntent("android.intent.action.VIEW", uri2open, "text/html", None, [u"android.intent.category.BROWSABLE"], None, None, None)
print(droid.startActivityForResultIntent(intent2start.result))