/// <summary> /// 执行lua脚本 /// </summary> /// <param name="script">lua 脚本</param> public static void Execute(string script) { var context = AppUtils.GetAppContext; if (context == null) { throw new LuaException("AppUtils.GetAppContext = null"); } var intent = new Intent(context, Java.Lang.Class.FromType(typeof(ScriptExecuteActivity))) .AddFlags(ActivityFlags.NewTask); IntentExtras.NewExtras() .Put("luaScript", script) .PutInIntent(intent); context.StartActivity(intent); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); var extras = IntentExtras.FromIntentAndRelease(Intent); if (extras == null) { Finish(); return; } var script = extras.Get <string>("luaScript"); if (string.IsNullOrWhiteSpace(script)) { Finish(); return; } //初始化lua全局函数 LuaGlobal.Instance.Init(); AppApplication.LuaThread = new Thread(() => { try { AppApplication.Lua?.DoFile(script); } catch (LuaException e) { AppApplication.OnLog("异常", e.Message, Color.Red); } }); AppApplication.LuaThread.Start(); }