网络的问题。shell脚本打开蓝牙多数是网络连接异常导致。
1、首先打开电脑检查网络。
2、其次打开android程序进行测试网络连接是否异常。
3、最后重新连接网络后重新登录该程序即可。
Android平台支持蓝牙网络协议栈,实现蓝牙设备之间数据的无线传输。本文档描述了怎样利用android平台提供的蓝牙API去实现蓝压设备之间的通信。蓝牙具有point-to-point 和 multipoint两种连接功能。
使用蓝牙API,可以做到:
搜索蓝牙设备
从本地的Bluetooth adapter中查询已经配对的设备
建立RFCOMM通道
通过service discovery连接到其它设备
在设备之间传输数据
管理多个连接
基础知识
本文档介绍了如何使用Android的蓝牙API来完成的四个必要的主要任务,使用蓝牙进行设备通信,主要包含四个部分:蓝牙设置、搜索设备(配对的或可见的)、连接、传输数据。
所有的蓝牙API在androidbluetooth包中。实现这些功能主要需要下面这几个类和接口:
BluetoothAdapter
代表本地蓝牙适配器(蓝牙发射器),是所有蓝牙交互的入口。通过它可以搜索其它蓝牙设备,查询已经配对的设备列表,通过已知的MAC地址创建BluetoothDevice,创建BluetoothServerSocket监听来自其它设备的通信。
BluetoothDevice
代表了一个远端的蓝牙设备, 使用它请求远端蓝牙设备连接或者获取 远端蓝牙设备的名称、地址、种类和绑定状态。 (其信息是封装在 bluetoothsocket 中) 。
BluetoothSocket
代表了一个蓝牙套接字的接口(类似于 tcp 中的套接字) ,他是应用程 序通过输入、输出流与其他蓝牙设备通信的连接点。
BluetoothServerSocket
代表打开服务连接来监听可能到来的连接请求 (属于 server 端) , 为了连接两个蓝牙设备必须有一个设备作为服务器打开一个服务套接字。 当远端设备发起连 接连接请求的时候,并且已经连接到了的时候,Blueboothserversocket 类将会返回一个 bluetoothsocket。
BluetoothClass
描述了一个设备的特性(profile)或该设备上的蓝牙大致可以提供哪些服务(service),但不可信。比如,设备是一个电话、计算机或手持设备;设备可以提供audio/telephony服务等。可以用它来进行一些UI上的提示。
BluetoothProfile
BluetoothHeadset
提供手机使用蓝牙耳机的支持。这既包括蓝牙耳机和免提(V15)模式。
BluetoothA2dp
定义高品质的音频,可以从一个设备传输到另一个蓝牙连接。 “A2DP的”代表高级音频分配模式。
BluetoothHealth
代表了医疗设备配置代理控制的蓝牙服务
BluetoothHealthCallback
一个抽象类,使用实现BluetoothHealth回调。你必须扩展这个类并实现回调方法接收更新应用程序的注册状态和蓝牙通道状态的变化。
BluetoothHealthAppConfiguration
代表一个应用程序的配置,蓝牙医疗第三方应用注册与远程蓝牙医疗设备交流。
BluetoothProfileServiceListener
当他们已经连接到或从服务断开时通知BluetoothProfile IPX的客户时一个接口(即运行一个特定的配置文件,内部服务)。
蓝牙权限
为了在你的应用中使用蓝牙功能,至少要在AndroidManifestxml中声明两个权限:BLUETOOTH(任何蓝牙相关API都要使用这个权限) 和 BLUETOOTH_ADMIN(设备搜索、蓝牙设置等)。
为了执行蓝牙通信,例如连接请求,接收连接和传送数据都必须有BLUETOOTH权限。
必须要求BLUETOOTH_ADMIN的权限来启动设备发现或 *** 纵蓝牙设置。大多数应用程序都需要这个权限能力,发现当地的蓝牙设备。此权限授予其他的能力不应该使用,除非应用程序是一个“电源管理”,将根据用户要求修改的蓝牙设置
注释:要请求BLUETOOTH_ADMIN的话,必须要先有BLUETOOTH。
在你的应用manifest 文件中声明蓝牙权限。例如:
<manifest >
<uses-permission android:name="androidpermissionBLUETOOTH" />
</manifest>
通过查看<uses-permission>资料来声明应用权限获取更多的信息。
蓝牙设置
在你的应用通过蓝牙进行通信之前,你需要确认设备是否支持蓝牙,如果支持,确信它被打开。
如果不支持,则不能使用蓝牙功能。如果支持蓝牙,但不能够使用,你刚要在你的应用中请求使用蓝牙。这个要两步完成,使用BluetoothAdapter。
推荐安装 ES 文件管理夹
然后——打开ES——菜单键——设置——蓝牙选项——
把“不使用蓝牙”后的 勾 去掉 ——
下还有洗个“如果。。。退出。。。” 符合就——勾上
就省了最后一步——关闭蓝牙了
返回键——返回键——到ES文件管理的SD卡界面——
菜单键——新建——搜索——“蓝牙权限请求”——是
——就搜索附近蓝牙装置了——搜不到 多试两次
——搜到了——点击图标——蓝牙配对请求——输入 配对密码——
连接——就行了 ——
然后你的ES最左上方有个 “蓝牙”——此时你的ES显示的是
连接对方的文件
——点击“蓝牙”——选择“本地”——此时你的ES显示的是
你自己的文件
——执行剪切、复制、粘贴(不管从 你——他 还是 他——你)
都能在 自己手机完成
对方只同意就行了
智能机的蓝牙正常情况下还是比较快的
搞完——“不打开蓝牙”钩子 勾上
或其它地方 关闭 蓝牙 哦
蓝牙很费电的
自动配对设置Pin值
static public boolean autoBond(Class btClass, BluetoothDevice device, String strPin)
throws Exception {
Method autoBondMethod = btClassgetMethod("setPin", new Class[] { byte[]class });
Boolean result = (Boolean) autoBondMethod
invoke(device, new Object[] { strPingetBytes() });
return result;
}
// 开始配对
static public boolean createBond(Class btClass, BluetoothDevice device) throws Exception {
Method createBondMethod = btClassgetMethod("createBond");
Boolean returnValue = (Boolean) createBondMethodinvoke(device);
return returnValuebooleanValue();
}
使用上面的代码可以实现配对,但是会出现输入提示框(点击取消后,查看配对是已配对)
我想屏蔽这个提示框,那为大神知道怎么做了或者使用其它方式实现匹配
下面是进行匹配时 d出提示框的日志,我想如果我不能屏蔽它,那么我可以通过代码关闭它吗
05-18 17:26:54779: I/BluetoothEventLoopcpp(171): agent_event_filter: Received method orgbluezAgent:RequestPinCode
05-18 17:26:54790: I/ActivityManager(171): Starting: Intent { act=androidbluetoothdeviceactionPAIRING_REQUEST flg=0x10000000 cmp=comandroidsettings/bluetoothBluetoothPairingDialog (has extras) } from pid 252
05-18 17:26:55190: I/ActivityManager(171): Displayed comandroidsettings/bluetoothBluetoothPairingDialog: +374ms
不知道楼主说的软件是不是软件安装包,如果是软件安装包的话是可以通过蓝牙传的。具体步骤如下:\x0d\第一步:把软件安装包的位置寻到,或者转移到一个可以明显寻到的地方。\x0d\第二步:长按需要传送的软件安装包,这时会d出一个窗口询问你要进行什么 *** 作。\x0d\第三步:选择分享(有些机型是直接有发送到蓝牙选项)\x0d\第四步:选择蓝牙,手机会自动激活蓝牙。\x0d\第五步:打开另一台手机上的蓝牙\x0d\第五步:在蓝牙 *** 作界面把设备可见性把两台手机可见性设置为持久可见方便寻找配对。\x0d\第六步:在传软件的那台手机上进行寻找另一台手机进行配对,之后按照相应提示进行配对。\x0d\第七步:配对成功后,选择需要发送的手机就开始发送了,以后只要不是刻意去删除配对就不用再次配对。
以上就是关于android执行shell脚本打开蓝牙全部的内容,包括:android执行shell脚本打开蓝牙、如何使用Android蓝牙开发、华为c8500(android2.1系统)打开蓝牙后如何传送应用程序到另一个手机等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)