android studio locationmanager,求助!关于LocationManager.getAllProvider();方法

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

package com.charho.getbestlocation;

import android.content.Context;

import android.location.LocationManager;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

import java.util.Iterator;

import java.util.List;

public class MainActivity extends AppCompatActivity {

private Button buttonGet;

private Button buttonAll;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

buttonAll = (Button) findViewById(R.id.buttonall);

buttonAll.setOnClickListener(new ProviderListener());

}

class ProviderListener implements View.OnClickListener {

@Override

public void onClick(View v) {

LocationManager manager = (LocationManager) MainActivity.this.getSystemService(Context.LOCATION_SERVICE);

List providers = manager.getAllProviders();

for (Iterator iterator = providers.iterator();iterator.hasNext();)

{

String provider = (String) iterator.next();

System.out.println(provider+"");

}

}

}

}

最后返回的只有passive以及gps

而没有network.!

Android 中的 LocationManager 是用于获取设备当前位置信息的类,下面是使用 LocationManager 的基本方法: 1. 获取 LocationManager 实例: 要使用 LocationManager,首先需要获取它的实例。可以通过 getSystemService() 方法来获取系统级的 LocationManager 实例,例如: LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 2. 设置位置更新监听器: 要获取设备位置信息,需要注册一个位置更新监听器。可以通过 locationManager 的 requestLocationUpdates() 方法来设置监听器,设置监听器需要指定位置信息的更新频率和最小更新距离等参数: locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, locationListener); 3. 实现位置监听器: 需要自定义一个 LocationListener 的实现类来处理位置信息的更新。在 LocationListener 的回调方法中可以处理获取到的位置信息,例如: private class MyLocationListener implements LocationListener { @Override public void onLocationChanged(Location location) { // 处理获取到的位置信息 } @Override public void onStatusChanged(String provider, int status, Bundle extras) { // 位置提供者状态变化时的处理 } @Override public void onProviderEnabled(String provider) { // 位置提供者启用时的处理 } @Override public void onProviderDisabled(String provider) { // 位置提供者禁用时的处理 } } 4. 获取最后已知的位置信息: 除了实时获取设备位置信息外,还可以通过 LocationManager 的 getLastKnownLocation() 方法来获取设备最后一次已知的位置信息,例如: Location lastKnownLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 通过以上方法,可以使用 LocationManager 来获取设备的当前位置信息,并且可以在位置信息更新时及时进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值