Sl4A向Minimalistic文本小部件广播意图

时间:2013-09-10 03:35:33

标签: android python android-intent sl4a

我一直在尝试使用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)

2 个答案:

答案 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)

那说我不确定我的初始代码出错了。如果有人愿意插话并指出我哪里出错了