2013-09-10 2 views
1

Я попытке отправить переменные данные непосредственно из SL4A в Минималистичный Text Widget с помощью sendBroadcastIntent так же, как, как я могу отправить переменные Tasker (используя код, который я нашел на SL4A Google групп)SL4A вещание Намерение Минималистичный текстовый виджет

К сожалению, мое понимание намерений немного слабое, и я обнаружил, что поиск учебников специально по отношению к SL4A практически невозможно.

The SL4A makeintent API Reference

The minimalistic Test Intent example

Код я пытался использовать:

import Android 
droid = Android() 

activity = "com.twofortyfouram.locale.intent.action.FIRE_SETTING" 
extras = {'de.devmil.minimaltext.locale.extras.VAR_NAME': "Test"; "de.devmil.minimaltext.locale.extras.VAR_TEXT" : "Passed"} 
packagename = 'de.devmil.minimaltext' 
classname = 'de.devmil.minimaltext.locale.LocaleFireReceiver' 
intent = droid.makeIntent(activity, None, None, extras, None, packagename, classname).result 
droid.sendBroadcastIntent(intent) 

ответ

2

Причина, по которой ваш исходный код не работает, заключается в том, что вы используете ; вместо ,, чтобы разделить пары имя/значение при создании словаря так называемые дополнительные услуги.

Неправильный путь:

extras = {'de.devmil.minimaltext.locale.extras.VAR_NAME':"Test" ; "de.devmil.minimaltext.locale.extras.VAR_TEXT" : "Passed"} 

Правильный путь:

extras = {'de.devmil.minimaltext.locale.extras.VAR_NAME':"Test" , 'de.devmil.minimaltext.locale.extras.VAR_TEXT' : "Passed"} 

Вы можете узнать больше об использовании словарей здесь: http://www.tutorialspoint.com/python/python_dictionary.htm

1

Я получил это работает, наконец! From this Stackoverflow answer

import android 

droid = android.Android() 

activity = 'com.twofortyfouram.locale.intent.action.FIRE_SETTING' 
extras = {} 
extras['de.devmil.minimaltext.locale.extras.VAR_NAME'] = 'test' 
extras['de.devmil.minimaltext.locale.extras.VAR_TEXT'] = 'Passed' 

packagename = 'de.devmil.minimaltext' 
classname = 'de.devmil.minimaltext.locale.LocaleFireReceiver' 

intent = droid.makeIntent(activity, None, None, extras, None, packagename, classname).result 

droid.sendBroadcastIntent(intent) 

Это сказал я не уверен, куда я пошел неправильно в моем исходном коде. Если кто-то захочет позвонить и указать, где, черт возьми, я ошибся

Смежные вопросы