首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tasker插件变量替换: Developer

Tasker插件变量替换: Developer
EN

Stack Overflow用户
提问于 2016-04-27 07:04:49
回答 1查看 534关注 0票数 3

我正在为这款安卓应用程序做一个插件。这个插件基本上允许人们使用自己的设定值动态创建列表和卡视图。

我认为也允许使用Tasker变量来设置列表、项目等等,这是我正在努力解决的问题。

这是我为这个部分编写的代码的一部分(在我的EditActivity中):

代码语言:javascript
复制
resultBundle.putString("MessageString", message);
            resultBundle.putString("ContentString", AlertContents);
            resultBundle.putString("BackgroundColour", BackgroundCol);
            resultBundle.putString("TextColour", TextCol);
            resultBundle.putStringArrayList("myArray", theList);
            resultIntent.putExtras(resultBundle);

            //Take above values and replace any %Variables with the Tassker values in the host

            if ( TaskerPlugin.Setting.hostSupportsOnFireVariableReplacement( this ) )
                TaskerPlugin.Setting.setVariableReplaceKeys( resultBundle, new String [] { "MessageString" } );
            TaskerPlugin.Setting.setVariableReplaceKeys( resultBundle, new String [] { "ContentString" } );
            TaskerPlugin.Setting.setVariableReplaceKeys( resultBundle, new String [] { "BackgroundColour" } );
            TaskerPlugin.Setting.setVariableReplaceKeys( resultBundle, new String [] { "TextColour" } );
            TaskerPlugin.Setting.setVariableReplaceKeys( resultBundle, new String [] { "myArray " } );

            resultIntent.putExtras(resultBundle);

最重要的是,这样做是将我的值设置为一个包,然后根据我的理解,'setVriableReplaceKeys‘函数会遍历我在包中指定的每个键区,用存储在主机中的当前值替换任何taskerr变量(例如%BATT)。下面的代码不起作用,我只看到没有值的变量名,所以如果我使用%BATT来测试它,我会在列表中看到%BATT,而不是实际的电池百分比。

任何帮助都将不胜感激。我玩了很久了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-13 10:22:02

即使这是一段时间,也许答案会帮助其他人,就像这个问题对我一样。

  1. 您的代码有一些问题。起初,setVariableReplaceKeys需要一个StringArray,所以这就足够了:
代码语言:javascript
复制
if ( TaskerPlugin.Setting.hostSupportsOnFireVariableReplacement( this ) )
  TaskerPlugin.Setting.setVariableReplaceKeys( resultBundle,
  new String [] { "MessageString","ContentString","TextColour","myArray" } );
}
  1. if语句中缺少花括号。
  2. 你要给putExtras打两次电话。第一个电话就够了。

setVariableReplaceKeys将为您的包添加另一个额外的部分。如果您正在某个地方检查包是否有效,请记住这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36882666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档