LocationActivity.java 2.2 KB
Newer Older
B
Blankj 已提交
1 2 3
package com.blankj.androidutilcode.activities;

import android.app.Activity;
B
Blankj 已提交
4 5
import android.content.Context;
import android.location.Location;
B
Blankj 已提交
6
import android.os.Bundle;
C
cmj 已提交
7 8
import android.os.Looper;
import android.os.Message;
B
Blankj 已提交
9 10
import android.widget.TextView;

C
cmj 已提交
11
import com.blankj.androidutilcode.App;
B
Blankj 已提交
12
import com.blankj.androidutilcode.R;
C
cmj 已提交
13
import com.blankj.utilcode.utils.HandlerUtils;
B
Blankj 已提交
14
import com.blankj.utilcode.utils.LocationUtils;
C
cmj 已提交
15
import com.blankj.utilcode.utils.LogUtils;
B
Blankj 已提交
16 17 18 19 20 21 22 23 24 25 26

/**
 * <pre>
 *     author: Blankj
 *     blog  : http://blankj.com
 *     time  : 2016/10/13
 *     desc  : Location工具类测试
 * </pre>
 */
public class LocationActivity extends Activity {

C
cmj 已提交
27 28 29
    private TextView                   tvAboutLocation;
    private LocationUtils              locationUtils;
    private double                     latitude, longitude;
B
Blankj 已提交
30

B
Blankj 已提交
31 32 33
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
C
cmj 已提交
34
        setContentView(R.layout.activity_location);
B
Blankj 已提交
35

B
Blankj 已提交
36 37
        tvAboutLocation = (TextView) findViewById(R.id.tv_about_location);

C
cmj 已提交
38
        locationUtils = new LocationUtils(App.getInstance());
C
cmj 已提交
39 40
        //注意:此处更新准确度非常低,推荐在service里面启动一个Thread,在run中sleep(10000);
        // 然后执行handler.sendMessage(),更新位置
C
cmj 已提交
41
        locationUtils.init(1000, 0, new LocationUtils.OnLocationChangeListener() {
B
Blankj 已提交
42 43
            @Override
            public void onLocationChanged(Location location) {
C
cmj 已提交
44 45 46 47 48 49 50
                latitude = location.getLatitude();
                longitude = location.getLongitude();
                tvAboutLocation.setText("latitude: " + latitude +
                        "\nlongitude: " + longitude +
                        "\ngetCountryName: " + locationUtils.getCountryName(latitude, longitude) +
                        "\ngetLocality: " + locationUtils.getLocality(latitude, longitude) +
                        "\ngetStreet: " + locationUtils.getStreet(latitude, longitude)
B
Blankj 已提交
51 52 53 54 55 56 57
                );
            }
            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {

            }
        });
C
cmj 已提交
58
    }
B
Blankj 已提交
59

C
cmj 已提交
60 61 62 63
    @Override
    protected void onDestroy() {
        locationUtils.removeAndGc();
        super.onDestroy();
B
Blankj 已提交
64 65
    }
}