Я попытался прочитать доступные маяки в area.below уровня API 21 я должен использовать BluetoothAdapter.LeScanCallback
и выше 21 у меня есть использовать ScanCallback
сила App близко при чтении ScannCallback
когда я бег моего приложения на KitKat это отсканировано маяк. Но когда я бегу мое приложение на леденец, он имеет принудительно закрыть и показывает эту ошибку
java.lang.NoClassDefFoundError: test.abc.com.mybeacon.Beacon$2
«Маяк» моя деятельность класса
Это мой код:
private BluetoothLeScanner mBluetoothLeScanner;
private ScanCallback mScanCallback;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_beacon);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
//JellyBean/Kitkat
mBluetoothAdapter.startLeScan(mLeScanCallback);
} else {
//lollipop+
mScanCallback = new ScanCallback() {
@Override
public void onScanResult(int callbackType, ScanResult result) {
processResult(result);
}
};
startScan();
}
}
private void startScan() {
mBluetoothLeScanner.startScan(mScanCallback);
}
private void stopScan() {
mBluetoothLeScanner.stopScan(mScanCallback);
}
private void processResult(ScanResult result) {
Log.d("res"," "+result.getDevice().getName().toString());
}
}
В чем разница между тем, когда он работает и когда он не работает? – davidgyoung
Я тестировал это приложение на kitkat.when с приложением «mScanCallback» приложение crashed.without «mScanCallback» приложение работает. Но я хочу «mScanCallback» для sdk> 21 устройства для сканирования маяка – vindy