Android连上蓝牙有广播吗,求解决,使用native调用原生代码,实现蓝牙广播报错问题...

import android.bluetooth.BluetoothAdapter;

import android.bluetooth.BluetoothManager;

import android.bluetooth.le.AdvertiseCallback;

import android.bluetooth.le.AdvertiseData;

import android.bluetooth.le.AdvertiseSettings;

import android.bluetooth.le.BluetoothLeAdvertiser;

import android.bluetooth.le.BluetoothLeScanner;

import android.bluetooth.le.ScanCallback;

import android.bluetooth.le.ScanSettings;

*/

function openPublic(){

console.log("进入openpublic");

var mBluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");

var mBluetoothLeAdvertiser=plus.android.importClass("android.bluetooth.le.BluetoothLeAdvertiser");

var mAdvertiseSettings=plus.android.importClass("android.bluetooth.le.AdvertiseSettings");

var main = plus.android.runtimeMainActivity();

var Context = plus.android.importClass("android.content.Context");

var BManager = main.getSystemService(Context.BLUETOOTH_SERVICE);

plus.android.importClass(BManager);//引入相关的method函数

var BAdapter = BManager.getAdapter();

plus.android.importClass(BAdapter);//引入相关的method函数,这样之后才会有isEnabled函数支持

var mBluetoothLeAdvertiser1=BAdapter.getBluetoothLeAdvertiser();

console.log("进入openpublic1");

var settingsBuilder=new mAdvertiseSettings.Builder();

//AdvertiseSettings.Builder settingsBuilder = new AdvertiseSettings.Builder();

settingsBuilder.setAdvertiseMode(mAdvertiseSettings.ADVERTISE_MODE_LOW_LATENCY);

settingsBuilder.setTimeout(0);

settingsBuilder.setConnectable(true);

settingsBuilder.setTxPowerLevel(3);

var setting=settingsBuilder.build();

var uuid=['00001101-0000-1000-8000-00805F9B34FB','00011101-0000-1000-8000-00805F9B34FB','00001121-0000-1000-8000-00805F9B34FB'];

var sendDatas=[1,2];

console.log("进入openpublic2");

//byte[] sendDatas = new Byte[]{0x01,0x02,0x03};

var mAdvertiseData=plus.android.importClass("android.bluetooth.le.AdvertiseData");

var mParcelUuid=plus.android.importClass("android.os.ParcelUuid");

var dataBuilder = new mAdvertiseData.Builder();

dataBuilder.setIncludeDeviceName(true); //广播名称也需要字节长度

dataBuilder.setIncludeTxPowerLevel(true);

var UUID = plus.android.importClass("java.util.UUID");

var uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

console.log("进入2"+mParcelUuid);

dataBuilder.addServiceUuid(mParcelUuid.fromString("00001101-0000-1000-8000-00805F9B34FB"));

dataBuilder.addServiceData(mParcelUuid.fromString("88888888-0000-1000-8000-00805F9B34FB"),sendDatas);

dataBuilder.addManufacturerData(1,sendDatas);

var advertiseData=dataBuilder.build();

console.log("进入openpublic3");

var mAdvertiseCallback;

console.log("进入openpublic4");

mAdvertiseCallback = plus.android.implements('android.bluetooth.le.AdvertiseCallback', {

onStartSuccess: function(settingsInEffect) { //实现onStartSuccess回调函数

console.log("success"); //获取action

} ,

onStartFailure:function(errorCode) { //实现onStartFailure回调函数

console.log("error"+errorCode);

}

});

console.log("进入openpublic5"+setting+"``"+advertiseData+""+mAdvertiseCallback);

mBluetoothLeAdvertiser1.startAdvertising(setting, advertiseData, mAdvertiseCallback);

outSet('开启蓝牙广播:');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值