package com.blankj.androidutilcode.activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;
import android.widget.TextView;
import com.blankj.androidutilcode.R;
import com.blankj.androidutilcode.base.BaseActivity;
import com.blankj.androidutilcode.service.LocationService;
/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 2016/10/13
* desc : Location工具类Demo
* </pre>
*/
public class LocationActivity extends BaseActivity {
TextView tvAboutLocation;
LocationService mLocationService;
@Override
public void initData(Bundle bundle) {
}
@Override
public int bindLayout() {
return R.layout.activity_location;
}
@Override
public void initView(Bundle savedInstanceState, View view) {
tvAboutLocation = (TextView) findViewById(R.id.tv_about_location);
tvAboutLocation.setText("lastLatitude: unknown"
+ "\nlastLongitude: unknown"
+ "\nlatitude: unknown"
+ "\nlongitude: unknown"
+ "\ngetCountryName: unknown"
+ "\ngetLocality: unknown"
+ "\ngetStreet: unknown"
);
}
@Override
public void doBusiness(Context context) {
bindService(new Intent(this, LocationService.class), conn, Context.BIND_AUTO_CREATE);
}
@Override
public void onWidgetClick(View view) {
}
@Override
protected void onDestroy() {
unbindService(conn);
super.onDestroy();
}
ServiceConnection conn = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
mLocationService = ((LocationService.LocationBinder) service).getService();
mLocationService.setOnGetLocationListener(new LocationService.OnGetLocationListener() {
@Override
public void getLocation(final String lastLatitude, final String lastLongitude, final String latitude, final String longitude, final String country, final String locality, final String street) {
runOnUiThread(new Runnable() {
@Override
public void run() {
tvAboutLocation.setText("lastLatitude: " + lastLatitude +
"\nlastLongitude: " + lastLongitude +
"\nlatitude: " + latitude +
"\nlongitude: " + longitude +
"\ngetCountryName: " + country +
"\ngetLocality: " + locality +
"\ngetStreet: " + street
);
}
});
}
});
}
};
}