Page 460 - 2
P. 460
if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permissi
on.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermi
ssion(getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISS
ION_GRANTED) {
return;
}
Location location = getLastKnownLocation();
if(location != null) {
Weather_Manager weather_manager = new Weather_Manager();
Write_data(weather_manager.Update_Weather(location.getLongitude(),locatio
n.getLatitude(),getApplicationContext()));
Bluetooth_Data data = new Bluetooth_Data();
data.setGPS_speed(GPS_Speed);
Write_data(data);
Log.d("BluetoothManager", " 데이터가 전송됨");
}
Thread.sleep(1000);
}catch (InterruptedException ire){
ire.toString();
}
}
}
}).start();
}
public Location getLastKnownLocation() {
List<String> providers = locationManager.getProviders(true);
Location location = null;
if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_FIN
E_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getApplica
tionContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED)
{
return null;
}
for (String provider : providers) {
Location l = locationManager.getLastKnownLocation(provider);
if (l == null){
continue;
}
if(location == null || l.getAccuracy() < location.getAccuracy()){
location = l;
}
}
return location;
}
synchronized public void ConnectDevice() {
BluetoothAdapter.getDefaultAdapter().cancelDiscovery();
Log.d(tag, "cancelDiscovery");
- 460 -