网摘

摘录好文章,也摘不好的文章

使用C#更改Smartphone(WM5)的蓝牙状态

    最近在学.net CF,写一个GPS的应用程序,手机是多普达585,系统为WM5 Smartphone,.NET CF 2,手机与GPS通过蓝牙连接,连接后以虚拟串口的形进行通讯。 

手机平时的蓝牙都是关着的,要不然太耗电了。每次使用GPS前,都得手动开启蓝牙,用完GPS之后,还得手机关闭蓝牙,有些麻烦。通过搜索,终于找到开启和关闭蓝牙的API。写成一个简单的类,要用时引用一下就可以。

 

using System;
using System.Runtime.InteropServices;

namespace GPS
{
 
public class Bluetooth
 {
  
//TODO THIS IS NOT TESTED!!!
        public enum RadioMode {
            BTH_POWER_OFF 
= 0,
            BTH_CONNECTABLE 
= 1,
            BTH_DISCOVERABLE 
= 2
        }

        [DllImport(
"BthUtil.dll", SetLastError = true)]
        
public static extern int BthGetMode(out RadioMode dwMode);  

        [DllImport(
"BthUtil.dll", SetLastError = true)]
        
public static extern int BthSetMode(RadioMode dwMode); }
}

 

 

使用:

using GPS;

 

打开串口前调用:

 

            Bluetooth.RadioMode mode = Bluetooth.RadioMode.BTH_POWER_OFF;
            
int ret = 0;

            
//检查蓝牙状态,如果不是"连接"状态,则设为"连接"状态
            ret = Bluetooth.BthGetMode(out mode);
            
if(mode!=Bluetooth.RadioMode.BTH_CONNECTABLE)  Bluetooth.BthSetMode(Bluetooth.RadioMode.BTH_CONNECTABLE);         

 

 

退出程序时调用:

 

            //关闭蓝牙
            Bluetooth.BthSetMode(Bluetooth.RadioMode.BTH_POWER_OFF);  

 

          

 

阅读更多
下一篇利用SRTM数据,在Google Earth上显示等高线(需要大量工作)
想对作者说点什么? 我来说一句

使用C#开发SmartPhone程序入门.doc

2010年03月16日 252KB 下载

PPC-WM5.0智能手机模拟器

2012年11月20日 46.51MB 下载

没有更多推荐了,返回首页

关闭
关闭