我一直在尝试使用sendBroadcastIntent直接从SL4A发送可变数据到Minimalistic Text Widget,就像我可以将变量发送到Tasker一样(使用我在SL4A google组中找到的代码)
不幸的是,我对意图的理解有点松懈,我发现专门针对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)
答案 0 :(得分:2)
原始代码无效的原因是您在创建名为extras的字典时使用;
而不是,
来分割名称/值对。
错误的方式:
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 :(得分: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)
那说我不确定我的初始代码出错了。如果有人愿意插话并指出我哪里出错了