用过的蓝牙耳机不知道蓝牙配对密钥钥该怎么办呢?

8161人阅读
BluetoothConnectActivityReceiver.java:监听蓝牙配对的广播
package com.imte.B
import com.imte.utils.ClsU
import com.itme.ActivityClass.R;
import android.bluetooth.BluetoothD
import android.content.BroadcastR
import android.content.C
import android.content.I
import android.os.H
import android.util.L
import android.widget.T
public class BluetoothConnectActivityReceiver extends BroadcastReceiver {
&String strPsw = &123456&;
&@Override
&public void onReceive(Context context, Intent intent) {
&&// TODO Auto-generated method stub
&&if (intent.getAction().equals(
&&&&&android.bluetooth.device.action.PAIRING_REQUEST&)) {
&&&BluetoothDevice btDevice = intent
&&&&&.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
&&&&ClsUtils.setPin(btDevice.getClass(), btDevice, strPsw); // 手机和蓝牙采集器配对
&&&&ClsUtils.createBond(btDevice.getClass(), btDevice);
&&&&ClsUtils.cancelPairingUserInput(btDevice.getClass(), btDevice);
&&&&Toast.makeText(
&&&&&&context,
&&&&&&context.getResources().getString(
&&&&&&&&R.string.bluetooth_connect_success),
&&&&&&Toast.LENGTH_SHORT);
&&&} catch (Exception e) {
&&&&// TODO Auto-generated catch block
&&&&e.printStackTrace();
//&&&&Thread thread=new Thread(strPsw);
//&&&&thread.
ClsUtils.java:里面主要是一些通过反射机制得到蓝牙配对的相关方法,代码如下:
package com.imte.
/************************************ 蓝牙配对函数 * **************/
import java.lang.reflect.F
import java.lang.reflect.M
import android.bluetooth.BluetoothD
import android.util.L
public class ClsUtils
& * 与设备配对 参考源码:platform/packages/apps/Settings.git
& * /Settings/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
&static public boolean createBond(Class btClass, BluetoothDevice btDevice)
&&&throws Exception
&&Method createBondMethod = btClass.getMethod(&createBond&);
&&Boolean returnValue = (Boolean) createBondMethod.invoke(btDevice);
&&return returnValue.booleanValue();
& * 与设备解除配对 参考源码:platform/packages/apps/Settings.git
& * /Settings/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
&static public boolean removeBond(Class btClass, BluetoothDevice btDevice)
&&&throws Exception
&&Method removeBondMethod = btClass.getMethod(&removeBond&);
&&Boolean returnValue = (Boolean) removeBondMethod.invoke(btDevice);
&&return returnValue.booleanValue();
&static public boolean setPin(Class btClass, BluetoothDevice btDevice,
&&&String str) throws Exception
&&&Method removeBondMethod = btClass.getDeclaredMethod(&setPin&,
&&&&&new Class[]
&&&&&{byte[].class});
&&&Boolean returnValue = (Boolean) removeBondMethod.invoke(btDevice,
&&&&&new Object[]
&&&&&{str.getBytes()});
&&&Log.e(&returnValue&, && + returnValue);
&&catch (SecurityException e)
&&&// throw new RuntimeException(e.getMessage());
&&&e.printStackTrace();
&&catch (IllegalArgumentException e)
&&&// throw new RuntimeException(e.getMessage());
&&&e.printStackTrace();
&&catch (Exception e)
&&&// TODO Auto-generated catch block
&&&e.printStackTrace();
&// 取消用户输入
&static public boolean cancelPairingUserInput(Class btClass,
&&&BluetoothDevice device)
&throws Exception
&&Method createBondMethod = btClass.getMethod(&cancelPairingUserInput&);
&&// cancelBondProcess()
&&Boolean returnValue = (Boolean) createBondMethod.invoke(device);
&&return returnValue.booleanValue();
&// 取消配对
&static public boolean cancelBondProcess(Class btClass,
&&&BluetoothDevice device)
&throws Exception
&&Method createBondMethod = btClass.getMethod(&cancelBondProcess&);
&&Boolean returnValue = (Boolean) createBondMethod.invoke(device);
&&return returnValue.booleanValue();
& * @param clsShow
&static public void printAllInform(Class clsShow)
&&&// 取得所有方法
&&&Method[] hideMethod = clsShow.getMethods();
&&&int i = 0;
&&&for (; i & hideMethod. i++)
&&&&Log.e(&method name&, hideMethod[i].getName() + &;and the i is:&
&&&&&&+ i);
&&&// 取得所有常量
&&&Field[] allFields = clsShow.getFields();
&&&for (i = 0; i & allFields. i++)
&&&&Log.e(&Field name&, allFields[i].getName());
&&catch (SecurityException e)
&&&// throw new RuntimeException(e.getMessage());
&&&e.printStackTrace();
&&catch (IllegalArgumentException e)
&&&// throw new RuntimeException(e.getMessage());
&&&e.printStackTrace();
&&catch (Exception e)
&&&// TODO Auto-generated catch block
&&&e.printStackTrace();
最后就是MainActivity,用一个按钮来实现自动配对,代码如下:
package com.itme.ActivityC
import android.app.A
import android.bluetooth.BluetoothA
import android.bluetooth.BluetoothD
import android.os.B
import android.util.L
import android.view.V
import android.view.View.OnClickL
import android.widget.B
import com.imte.utils.ClsU
public class MainActivity extends Activity implements OnClickListener{
&&& /** Called when the activity is first created. */
&private static BluetoothDevice remoteDevice=
&private Button btn_autopair=
&final static String ACTION_BLUETOOTHBC=&android.bluetooth.device.action.PAIRING_REQUEST&;
&&& @Override
&&& public void onCreate(Bundle savedInstanceState) {
&&&&&&& super.onCreate(savedInstanceState);
&&&&&&& setContentView(R.layout.main);
&&&&&&& btn_autopair=(Button)findViewById(R.id.btn_autopair);
&&&&&&& btn_autopair.setOnClickListener(this);
&&& public static boolean pair(String strAddr, String strPsw)
&&boolean result =
&&//蓝牙设备适配器
&&BluetoothAdapter bluetoothAdapter = BluetoothAdapter
&&&&.getDefaultAdapter();
&&//取消发现当前设备的过程
&&bluetoothAdapter.cancelDiscovery();
&&if (!bluetoothAdapter.isEnabled())
&&&bluetoothAdapter.enable();
&&if (!BluetoothAdapter.checkBluetoothAddress(strAddr))
&&{ // 检查蓝牙地址是否有效
&&&Log.d(&mylog&, &devAdd un effient!&);
&&//由蓝牙设备地址获得另一蓝牙设备对象
&&BluetoothDevice device = bluetoothAdapter.getRemoteDevice(strAddr);
&&if (device.getBondState() != BluetoothDevice.BOND_BONDED)
&&&&Log.d(&mylog&, &NOT BOND_BONDED&);
&&&&ClsUtils.setPin(device.getClass(), device, strPsw); // 手机和蓝牙采集器配对
&&&&ClsUtils.createBond(device.getClass(), device);
//&&&&ClsUtils.cancelPairingUserInput(device.getClass(), device);
&&&&remoteDevice = // 配对完毕就把这个设备对象传给全局的remoteDevice
&&&&result =
&&&catch (Exception e)
&&&&// TODO Auto-generated catch block
&&&&Log.d(&mylog&, &setPiN failed!&);
&&&&e.printStackTrace();
&&&Log.d(&mylog&, &HAS BOND_BONDED&);
&&&&//ClsUtils这个类的的以下静态方法都是通过反射机制得到需要的方法
&&&&ClsUtils.createBond(device.getClass(), device);//创建绑定
&&&&ClsUtils.setPin(device.getClass(), device, strPsw); // 手机和蓝牙采集器配对
&&&&ClsUtils.createBond(device.getClass(), device);
//&&&&ClsUtils.cancelPairingUserInput(device.getClass(), device);
&&&&remoteDevice = // 如果绑定成功,就直接把这个设备对象传给全局的remoteDevice
&&&&result =
&&&catch (Exception e)
&&&&// TODO Auto-generated catch block
&&&&Log.d(&mylog&, &setPiN failed!&);
&&&&e.printStackTrace();
&@Override
&public void onClick(View v) {
&&// TODO Auto-generated method stub
&&switch (v.getId()) {
&&case R.id.btn_autopair:
&&&if (pair(&94:DB:46:2B:A1:82&, &123456&)) {//pair的第一个参数是要配对的蓝牙地址,第二个参数是配对时预先设置的密钥
&&&&Log.i(&aaron&, remoteDevice.getAddress());
&&default:
叮咚..如题的功能就实现了。。。
&&项目源代码下载地址:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场后使用快捷导航没有帐号?
请华为研发工程解决蓝牙没法输密钥问题!!!!
&已臻大成&
来自:浏览器
小小苞菜 发表于
你是说部分人按这办法解决力,但那可能是名蓝牙不同罢了,始终是治标不治本,那你如果能让人输入密码,就 ...
我反馈的问题都是精选的,且尽量都通过自己的测试确认是问题!
你看我的做事方式应该能理解!
开始有人说有蓝牙问题我就一直在试,但没遇到问题,我一个只也不敢说蓝牙有问题!
前两天才又拿了六七部手机测试互连,的确很多莫名的问题,但问题属于蓝牙协议或别的:
比如IPHONE手机蓝牙是互不相连的,测试的是两台4S。还有一些问题也是我不能理解的!
我能做的就是尽量把我的经验与你分享,我自己没法确认的问题我是不会反应!
但能向你确认的是,蓝牙问题还是很多人反应上去的。
在这里,我只是按我的原则做事!
width:100%">
&登堂入室&
来自:浏览器
华钢赢 发表于
嗯,我的言论来自我的测试!
我的旧蓝牙耳机之前用连接也是需要输密码0000。
嗯,荣耀3C弹出输入密码的窗口下面有提示(一般为)这样的字样!所以我推测华为3X的开发团队可能默认所以的便携式或导航的密码是,但是他们没有想到可能有其他的密码!!所以很大的原因就在这!我的情况是先是老婆抢到了3C的,我用过一小段时间,不过这个蓝牙是昨天晚上才发现原来3C可以连上我的蓝牙耳机!!!
华钢哥,虽然没有解决问题,但是还是谢谢你的热心帮助!我还是期待华为能解决这个不难解决的问题!!!!
width:100%">
&已臻大成&
来自:浏览器
小小苞菜 发表于
嗯,荣耀3C弹出输入密码的窗口下面有提示(一般为)这样的字样!所以我推测华为3X的开发团队可能 ...
嗯,谢谢你的理解!
我们对蓝牙的理解有分歧,也不好再这点上讨论什么!我会多向别人请教一下的,谢谢!
width:100%">
&登堂入室&
来自:浏览器
华钢赢 发表于
我反馈的问题都是精选的,且尽量都通过自己的测试确认是问题!
你看我的做事方式应该能理解!
原装itech蓝牙立体音耳机 Clip R35
这个就是我的蓝牙耳机的型号,双耳的,说实话音质很好,这可能也就是我很纠结这蓝牙问题的其中的算是比较重要的原因!
他的密码是的版本的!
width:100%">
&登堂入室&
来自:浏览器
华钢赢 发表于
嗯,谢谢你的理解!
我们对蓝牙的理解有分歧,也不好再这点上讨论什么!我会多向别人请教一下的,谢谢! ...
如果你能要到这个耳机试就好了。
width:100%">
&已臻大成&
来自:浏览器
小小苞菜 发表于
原装itech蓝牙立体音耳机 Clip R35
这个就是我的蓝牙耳机的型号,双耳的,说实话音质很好,这可能也就是 ...
好的,谢谢!
会给你答案!
width:100%">
&登堂入室&
来自:浏览器
华钢赢 发表于
好的,谢谢!
会给你答案!
无限感谢,但是最好的解决办法是可以像3C那样能输密码,如果这样子还是不行的话那也没办法了!!
width:100%">
&已臻大成&
来自:浏览器
小小苞菜 发表于
无限感谢,但是最好的解决办法是可以像3C那样能输密码,如果这样子还是不行的话那也没办法了!! ...
别人提的问题:新买回来的i.Tech clip R35蓝牙耳机,用手机蓝牙搜索到i.Tech clip R35后进行连接,输入密码8888,连接成功,播放音乐成功,控制器没问题。但之后其它蓝牙就无法搜索到i.Tech clip R35出来了(原先那台手机还是可以用到的)就算原先那台手机关机下,其它蓝牙都无法搜索到i.Tech clip R35。
还有一种情况就是,i.Tech clip R35在启动状态下,原先那台手机只要一开蓝牙,数秒后就会显示i.Tech clip R35请求连接。
确认是i.Tech clip R35的点对点无论在任何情况下都一直连接着原先那台手机,导致其它蓝牙无法连接i.Tech clip R35。
用过i.Tech clip R35蓝牙耳机的朋友都知道,i.Tech clip R35的控制调节键不多,而且不能跟PC同步调节,请问怎么操作才能解除i.Tech clip R35的一直点对点状态呢?希望知道的朋友告诉下怎样操作才能让其它蓝牙可以搜索到i.Tech clip R35出来..谢谢!
别人给的答案:因为是一副蓝牙耳机带一部机子的,并不能像你所说那样:关原先,再连接其它的,它已经绑定在原先了 要想解中、除直接按重设按钮(就是在夹子夹开那里有个突出来的 里面有个重设按钮 很小的)这样就可以解除原先的的啦~!注意:是一部机子带一副蓝牙耳机
使用教程:i.tech Clip R35是一款不错的蓝牙立体声耳机,既可以接打电话,也可以听音乐看电视。但许多兄弟没了解其正确的使用方法,觉得不好用,所以将我使用R35的经验介绍给众多用R35的机友参考。
蓝牙正确配对(这一步如何作就不说了)
平时的正确使用方法:
第一步:先打手机的蓝牙;
第二步:按住R35多功能键2秒再松开打开蓝牙耳机,这时可以看到R35蓝色指示灯快速闪动2次,同时耳机中可以听到“咇”的一声;
第三步:再按R35多功能键一次(此作用是重新启动配接功能),等待10~14秒(这个时间有点长,不知itech是怎么设计的),然后看到R35蓝色指示灯连续闪动2次,并在耳机中可以听到一声较轻的、非常短促的“ 咇”的一声,屏慕上端出现立体声蓝牙耳机标志,此时就可以正常使用R35了。
*注:第一步和第二步顺序不要反了,若先开R35的话,听歌就不正常。
我的R35已经正常使用半个月有余,现在使用的ROM是用芋头大大的18521定制包自己定制的雅黑版ROM。
可能出现的问题:
1、先开耳机后开手机蓝牙也可联机,可以接打电话,但听音乐不正常。
2、打开耳机后若不按多功能键等20秒也可联机,也只是能接打电话,但听音乐却不行,不是耳机没有音乐就是听几秒后就没有音乐了
width:100%">
&登堂入室&
来自:浏览器
华钢赢 发表于
别人提的问题:新买回来的i.Tech clip R35蓝牙耳机,用手机蓝牙搜索到i.Tech clip R35后进行连接,输入密 ...
这个蓝牙耳机我用了几年了都,中间用过不同的手机也用过电脑的蓝牙适配器,都是可以的,这个是肯定不会说还不知道怎么用的。
你看3X提示的,错误的密钥无法连接,是因为错误,错误就是3x内置默认的密码不对,因为没有8888,可能有1234或者0000等,所以目前你说的成功的密码我没猜错的话,应该都是吧,有没有这两者之外的密码成功的案例呢?没有吧?反正我看论坛上是还没有。
钢哥,还以为你会想办法找到这个耳机来试呢,没想到你也只是去度娘去找了些资料而已……唉,辛苦你了。
刚兄,我觉得这个如果是软件问题的话只有工程师才能解决了的,你再努力也是没有办法解决的,你如果有渠道的话就把这个给向上反馈到研发的工程师吧!你这样也算是帮助到我们这些蓝牙使得不了的人了。谢谢!
PS:如果可以的话,找个我那款蓝牙耳机试下,如果没有,那就找个密码不是0000或者1234的蓝牙耳机试一下!
width:100%">
&略有小成&
来自:浏览器
楼主,我遇到的问题与你一样,我的理解及建议解决办法也一样。我的车载导航蓝牙密码是1234,同样不出现密码输入框,你倒是给我输入密码呀,能输入才有下一步兼容不兼容的问题。
width:100%">
参与今日头条相关活动获得奖励
至少3个原创测评帖,每个帖≥5K浏览量,有效回复≥150,并且加分数达≥15
好基友勋章
花粉好机友,注册时间大于99天
关注华为花粉俱乐部微信公众平台——“华为花粉俱乐部”
在职斑竹的身份勋章,感谢斑竹的辛勤劳动
申请成为热心花粉,满足热心花粉条件即可获得!http://cn./forum.php?mod=viewthread&tid=183642
1000万花粉
纪念花粉俱乐部注册花粉数超过1000万
小天山-关山草原朦胧也是一种美拍摄视角如何选择荣耀6PLUS随拍让随手拍成为一种习惯剪影
花粉客户端
Make it Possible
Make your device special
华为云服务
Huawei cloud services
音乐播放器
Huawei Music
Huawei Vmall
没有最新动态
关注花粉俱乐部
联系我们:
|关注花粉俱乐部:
Copyright (C)
华为软件技术有限公司 版权所有 保留一切权利

我要回帖

更多关于 蓝牙配对密钥 的文章

 

随机推荐