用户
 找回密码
 立即注册

33

主题

96

帖子

1811

积分

金牌会员

Rank: 6Rank: 6

积分
1811
发表于 2019-7-17 00:19:43
各位专家,

我想在窗体的构造函数中做初始化的时候,重启蓝牙模块,但是报错。

下面是代码:

partial class Form1: Smobiler.Core.Controls.MobileForm
{

        public Init() : base()
        {
            //初始化的时候先关闭手机蓝牙模块,然后再开启
            bluetooth1.Close((obj, args) =>
            {
                bluetooth1.Open();
            });

            //This call is required by the SmobilerForm.
            InitializeComponent();
        }


        private void Form1_Load(object sender, EventArgs e)
        {
             。。。。
        }
}
上面代码中的 bluetooth1 是在窗体设计的时候加入的 插件。

我之所以没有将初始化蓝牙模块的代码放在窗体的Load事件中的原因是 在Load中就需要执行 bluetooth1.Search() 了。

不知道我上述想法是否可行? 请指教

大杰米

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享至 : QQ空间
0 人收藏
使用道具 举报 回复
发表于 2019-7-17 08:31:35
本帖最后由 bigjimmy8257 于 2019-7-17 09:08 编辑

补充一下,如果我将 蓝牙模块的关闭和开启放在 Form1_Load 中,是可以的。但是,在调试环境下,如果此时重新返回到 应用中心(点右上角的两条短杠线), 然后重新连接 (我用它来模拟APP退出后重新进入的场景),则会出现错误,Toast提示“收到非法数据”, 然后出现 "网络连接失败" (截图中的‘应用初始化’是我在 Form1_Load 中添加的  this.Form.ShowLoadingScreen("应用初始化", true); ].
我也在其他一些场景下,做重新连接的时候,遇到过‘收到非法数据’的情况,不知道这是出现了什么问题, 盼指正。

大杰米

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
使用道具 举报 回复 支持 反对
发表于 2019-7-18 09:52:45
写在MobileGlobal.cs下OnSessionConnect中吧,OnSessionStart在会话第一次开始时触发,之后OnSessionConnect在会话重新连接时触发
使用道具 举报 回复 支持 反对
发表于 2019-7-18 10:29:03
Luna,

谢谢,我回去尝试一下。
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册