ANDROID_MARS学习笔记_S03_004_getAllProviders、LOCATIONLISTENER、getBestProvider

、代码

1.xml
(1)activity_main.xml

1     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
2     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

2.java
(1)MainActivity.java

 1 package com.location2;
 2 
 3 import java.util.Iterator;
 4 import java.util.List;
 5 
 6 import android.app.Activity;
 7 import android.content.Context;
 8 import android.location.Criteria;
 9 import android.location.LocationManager;
10 import android.os.Bundle;
11 import android.view.View;
12 import android.view.View.OnClickListener;
13 import android.widget.Button;
14 
15 public class MainActivity extends Activity {
16     private Button scanProvider = null;
17     private Button bestProvider = null;
18     private LocationManager locationManager = null;
19     
20     @Override
21     protected void onCreate(Bundle savedInstanceState) {
22         super.onCreate(savedInstanceState);
23         setContentView(R.layout.activity_main);
24         scanProvider = (Button)findViewById(R.id.ScanProvidersButton);
25         bestProvider = (Button)findViewById(R.id.bestProviderButton);
26         locationManager = (LocationManager) MainActivity.this.getSystemService(Context.LOCATION_SERVICE);
27         
28         scanProvider.setOnClickListener(new OnClickListener() {
29             @Override
30             public void onClick(View v) {
31                 List<String> providers = locationManager.getAllProviders();
32                 System.out.println("providers----->");
33                 for(Iterator<String> it = providers.iterator() ; it.hasNext() ; ) {
34                     System.out.println(it.next());
35                 }
36             }
37         });
38         
39         bestProvider.setOnClickListener(new OnClickListener() {
40             @Override
41             public void onClick(View v) {
42                 Criteria criteria = new Criteria();
43                 criteria.setAccuracy(Criteria.ACCURACY_FINE);
44                 criteria.setPowerRequirement(Criteria.POWER_LOW);
45                 criteria.setAltitudeRequired(false);
46                 criteria.setSpeedRequired(false);
47                 criteria.setCostAllowed(false);
48                 //获得最好的provider,第二个参数表示是否考虑provider可用
49                 String provider = locationManager.getBestProvider(criteria, false);
50                 System.out.println("best provider ---> "+provider);
51             }
52         });
53     }
54 }

package com.location2;
import java.util.Iterator;import java.util.List;
import android.app.Activity;import android.content.Context;import android.location.Criteria;import android.location.LocationManager;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;
public class MainActivity extends Activity {private Button scanProvider = null;private Button bestProvider = null;private LocationManager locationManager = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);        scanProvider = (Button)findViewById(R.id.ScanProvidersButton);        bestProvider = (Button)findViewById(R.id.bestProviderButton);        locationManager = (LocationManager) MainActivity.this.getSystemService(Context.LOCATION_SERVICE);                scanProvider.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {List<String> providers = locationManager.getAllProviders();System.out.println("providers----->");for(Iterator<String> it = providers.iterator() ; it.hasNext() ; ) {System.out.println(it.next());}}});                bestProvider.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Criteria criteria = new Criteria();criteria.setAccuracy(Criteria.ACCURACY_FINE);criteria.setPowerRequirement(Criteria.POWER_LOW);criteria.setAltitudeRequired(false);criteria.setSpeedRequired(false);criteria.setCostAllowed(false);//获得最好的provider,第二个参数表示是否考虑provider可用String provider = locationManager.getBestProvider(criteria, false);System.out.println("best provider ---> "+provider);}});}}

原文地址:https://www.cnblogs.com/shamgod/p/5203457.html