我想在service内让蓝牙可以一直执行扫描,之前在activity内可以重复扫描,但移植到服务后就不能了请问要怎么解决?
public class search_beacon extends Service implements LocationListener {
HashMap<String, Integer> record = new HashMap<String, Integer>();
private Long startTime;
private Handler timer = new Handler();
LocationManager locationManager;
String best_loc;
double latitude;
double longitude;
String sql;
private BluetoothAdapter mBluetoothAdapter;
private int REQUEST_ENABLE_BT = 1234;
private Handler mHandler;
private static final long SCAN_PERIOD = 10000;
private BluetoothLeScanner mLEScanner;
private ScanSettings settings;
private List<ScanFilter> filters;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate(){
Log.i("search_beacon", "Enter onCreate()");
super.onCreate();
Log.i("search_beacon", "Leave onCreate()");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i("search_beacon","Enter onStartCommand()");
//宣告倒數
mHandler = new Handler();
//ble
if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) {
Toast.makeText(this, "BLE Not Supported",
Toast.LENGTH_SHORT).show();
}
final BluetoothManager bluetoothManager =
(BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
mBluetoothAdapter = bluetoothManager.getAdapter();
//gps
locationManager = (LocationManager) getSystem
public class search_beacon extends Service implements LocationListener {
HashMap<String, Integer> record = new HashMap<String, Integer>();
private Long startTime;
private Handler timer = new Handler();
LocationManager locationManager;
String best_loc;
double latitude;
double longitude;
String sql;
private BluetoothAdapter mBluetoothAdapter;
private int REQUEST_ENABLE_BT = 1234;
private Handler mHandler;
private static final long SCAN_PERIOD = 10000;
private BluetoothLeScanner mLEScanner;
private ScanSettings settings;
private List<ScanFilter> filters;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate(){
Log.i("search_beacon", "Enter onCreate()");
super.onCreate();
Log.i("search_beacon", "Leave onCreate()");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i("search_beacon","Enter onStartCommand()");
//宣告倒數
mHandler = new Handler();
//ble
if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) {
Toast.makeText(this, "BLE Not Supported",
Toast.LENGTH_SHORT).show();
}
final BluetoothManager bluetoothManager =
(BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
mBluetoothAdapter = bluetoothManager.getAdapter();
//gps
locationManager = (LocationManager) getSystem