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

原创 2007年10月03日 14:50:00

    最近在学.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);  

 

          

 

C#开发蓝牙服务端,自动配对以及收发消息

C#开发蓝牙服务端,自动配对以及收发消息目前.Net平台最好用的蓝牙库是InTheHand.net,是由32feet.net提供的shared-source项目,提供短距离领域(personal ar...
  • oqzuser12345678923
  • oqzuser12345678923
  • 2016年04月26日 17:57
  • 5098

蓝牙的状态详解

转自:http://www.w2bc.com/article/131995 1. 蓝牙设备的发现和同步简介: 蓝牙设备在建立连接以前,通过在固定的一个频段内选择跳频频率或由被查询的设备地址...
  • ferrycooper
  • ferrycooper
  • 2016年05月08日 15:03
  • 2614

【Android】监听蓝牙状态变化

【关键词】 广播 LocalBroadcastManager 监听蓝牙状态 【问题】 广播的用法;使用 LocalBroadcastManager 注册蓝牙广播,接收不到消息; 【解决...
  • ly1414725328
  • ly1414725328
  • 2016年02月24日 06:48
  • 10261

蓝牙设备状态转换

蓝牙状态转换图: 上图是蓝牙状态转换图,从图中可以看出STANDBY状体是蓝牙设备的默认状态。此模式下设备处于低功耗状态。 Page:这个子状态就是我们通常称为的连接(寻呼),进行连接/激活对应...
  • u010657219
  • u010657219
  • 2014年12月26日 15:05
  • 3372

Android4.4支持使用DevTools对原生Android应用程序WebViews内容进行调试

从Android4.4(KitKat)开始,可以使用DevTools对原生Android应用程序的Android WebViews内容进行调试。 调试WebViews要求: 1.在Android设...
  • offbye
  • offbye
  • 2014年08月28日 13:46
  • 2376

实时监测蓝牙状态的Demo

由于项目需要,今天写了一个小的实时监听蓝牙设备连接状态并接受广播的例子。 不多说,直接贴代码,老司机请忽略,MianActivity如下: public class MainActivity ex...
  • u011457325
  • u011457325
  • 2016年05月23日 16:02
  • 4090

蓝牙通讯模块(C#)

 在Windows Mobile软件开发中.Net正扮演着日益重要的角色,我们已经可以看到很多用.Net CF开发的软件,这些软件涉及到了日常应用的方方面面。在智能设备的软件开发中,无线互联是一个相当...
  • eddygong
  • eddygong
  • 2008年08月19日 10:00
  • 3677

安卓获取蓝牙状态

笔者最近一直在做蓝牙状态获取方面的事情,总结出一套获取蓝牙状态的代码,分享如下: private BluetoothAdapter    ba    ;             //蓝牙适配器ba ...
  • memoryjs
  • memoryjs
  • 2015年01月21日 15:17
  • 17069

IOS侦测蓝牙是否开启

IOS蓝牙开发的资料少的可怜,建议大家可以把搜索的关键字翻译成英语。    找到两个方法,其中一个是采用CoreBluetooth。找到这个关键字,就好说了。找到代理。...
  • ralbatr
  • ralbatr
  • 2014年07月18日 18:02
  • 12779

iOS-OC-监听蓝牙是否开启(打开状态)

1.导入头文件 #import 2.申明对象 @property(strong,nonatomic) CBCentralManager* CM; 3.遵守代理方法 CBCent...
  • u014220518
  • u014220518
  • 2016年02月17日 11:59
  • 6956
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用C#更改Smartphone(WM5)的蓝牙状态
举报原因:
原因补充:

(最多只允许输入30个字)