我正在尝试在 onStart() 事件上运行一些插件初始化代码,但是从我的应用程序运行时它没有被调用。
例如,以下不运行:
public class EventListener extends ForgeEventListener implements PluginClient {
@Override
public void onStart()
{
super.onStart();
// Some init code here
logOutput("Plugin initialized");
}
奇怪的是,正如我们在 LogCat 上看到的那样,该事件在 ForgeInspector 上运行正常:
07-03 16:26:00.622: D/Forge(25867): Returned: {"event":"inspector.eventInvoked","params":{"name":"onStart","class":"io.trigger.forge.android.modules.myplugin.EventListener"}}
07-03 16:26:01.052: D/SNP(25867): Plugin initialized
我错过了什么还是需要从 JS 端调用它?
更新:
事实证明 onStart() 正在被调用,但是我的插件初始化代码出现了问题,它没有运行。我很难在 App/outside Inspector 上调试它。
更新 2:
我已经设法调试了这个问题,结果发现我正在使用的 lib 中的一段代码导致了这个问题:
localProperties.load(mySDK.class.getResourceAsStream("/sdk.properties"));
再次,它在 Inspector 上读取 sdk.properties 没问题,但在我的应用程序上它抛出了这个错误:
07-12 11:01:39.736: D/SNP(10848): java.lang.NullPointerException: in == null
07-12 11:01:39.736: D/SNP(10848): java.util.Properties.load(Properties.java:246)
更新 3:
知道了!问题在于 Trigger.IO 在最终版本中不包括 SDK 属性文件。有什么办法解决这个问题吗?
谢谢!