如何在没有GPS的情况下连续获取用户位置

Dorukhan Arslan

关于此问题有一些疑问,但是我找不到任何方法都可以正常工作。我使用GPS提供程序实现了该项目的版本,现在我想实现一个仅使用Wifi等网络提供程序就可以在没有GPS的情况下找到用户位置的版本。我尝试了此操作,但是它不起作用(我无法以任何方式获得“完成”消息):

public class MapsActivity extends FragmentActivity {

    double latitude;
    double longitude;

    LocationManager locationManager;
    android.location.LocationListener networkLocationListener;
    Location location;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);

        locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);

        networkLocationListener = new android.location.LocationListener() {
            public void onLocationChanged(Location location) {

                latitude = location.getLatitude();
                longitude = location.getLongitude();

                Log.d("->", "done.");

            }

            public void onStatusChanged(String provider, int status, Bundle extras) {}

            public void onProviderEnabled(String provider) {}

            public void onProviderDisabled(String provider) {}
        };

        locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, networkLocationListener);

    }

...

另外,这是我的清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.doruk.myapplication">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!--
 The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
         Google Maps Android API v2, but are recommended.
    -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/orange"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="@string/google_maps_key" />

        <activity
            android:name=".MapsActivity"
            android:label="@string/title_activity_maps" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <receiver
            android:name=".ConnectionChangeReceiver"
            android:label="NetworkConnection">
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
            </intent-filter>
        </receiver>
    </application>

</manifest>

你看到问题了吗?您在这一点上有何建议?有没有更好的办法?

哈代

Dorukhan Arslan-您可以使用GoogleclientAPi,因为locationmanager已被弃用-使用FusedLocationAPi它将自动发现提供者以查找位置。- https://developer.android.com/google/auth/api-client.html对此一看-这里有一个例子protected void createLocationRequest() { LocationRequest mLocation = LocationRequest.create(); GoogleAPiClient mgoogle; /*在这里输入代码 * Set the update interval */ mLocation.setSmallestDisplacement(500); // 2km mLocation.setInterval(180000);// 3 min mLocationRequest.setFastestInterval(120000);// 2 min mLocation.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); if (mgoogle == null) { mgoogle = new GoogleApiClient.Builder(this) .addApi(LocationServices.API).addConnectionCallbacks(this) .addOnConnectionFailedListener(this).build(); mgoogle.connect(); } }

  • 这是一个示例,通过3个接口实现OnConnectionFailedListener,ConnectionCallbacks,com.google.android.gms.location.LocationListener,您可以获取continueos Location。
  • LocationRequest类的getLastLocation方法将为您提供位置信息。
  • onLocationChanged方法将为您提供所需的输出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在没有用户确认的情况下使用force adb进行备份?

来自分类Dev

如何在没有GPS或wifi的情况下获取用户位置?

来自分类Dev

如何在不使用核心位置服务的情况下获取用户的当前城市名称?

来自分类Dev

在不使用GPS或互联网的情况下获取用户的当前位置名称,而是通过在Android中使用Network_Provider

来自分类Dev

如何在不收到“未使用变量”警告的情况下获取用户输入?

来自分类Dev

如何在没有任何“边际作弊”的情况下使按钮的位置居中?

来自分类Dev

在没有核心位置的情况下获取用户位置(Google Maps Geolocation?)

来自分类Dev

作为Jenkins管理员,如何在不以用户身份登录的情况下获取用户的API令牌?

来自分类Dev

C / Linux:如何在不使用“ getlogin”的情况下获取用户登录名

来自分类Dev

R:如何在不替换且没有连续相同值的情况下进行采样

来自分类Dev

如何在没有视框的情况下缩放具有高宽比和位置的控件?

来自分类Dev

如何在没有NSFetchedResultsControllerDelegate的情况下获取结果?

来自分类Dev

如何在不使用地理位置的情况下获取用户所在的城市

来自分类Dev

如何在不使用核心位置服务的情况下获取用户的当前城市名称?

来自分类Dev

是否可以在无需包含HERE Maps sdk的情况下获取用户在nokiax上的位置?

来自分类Dev

在没有GPS和Internet的情况下获取当前电话位置

来自分类Dev

如何在不收到“未使用变量”警告的情况下获取用户输入?

来自分类Dev

如何在没有用户通过的情况下获取“ ID”

来自分类Dev

如何在没有sudo的情况下更改核心转储位置

来自分类Dev

Liferay:如何在serviceImpl类中不使用ThemeDisplay的情况下获取用户profilePicURL?

来自分类Dev

如何使用GPS获取用户位置

来自分类Dev

c#如何在没有延迟的情况下连续调用onpaint

来自分类Dev

instagram 如何在没有像 PHP 中那样获取 ID 的情况下进行用户名系统

来自分类Dev

如何在没有硬编码的情况下获取当前用户 ID?

来自分类Dev

如何在没有用户实例的情况下获取 Active Directory 用户对象类的属性名称?

来自分类Dev

如何在不登录的情况下从 firebase 实时数据库获取用户 ID(UID)

来自分类Dev

如何在没有 SetLeft 的情况下以编程方式更改图像位置?

来自分类Dev

如何在没有内置方法的情况下获取用逗号分隔的对象数组中的所有值和键

来自分类Dev

如何在不渲染地图的情况下获取用户位置数据 - Leaflet

Related 相关文章

  1. 1

    如何在没有用户确认的情况下使用force adb进行备份?

  2. 2

    如何在没有GPS或wifi的情况下获取用户位置?

  3. 3

    如何在不使用核心位置服务的情况下获取用户的当前城市名称?

  4. 4

    在不使用GPS或互联网的情况下获取用户的当前位置名称,而是通过在Android中使用Network_Provider

  5. 5

    如何在不收到“未使用变量”警告的情况下获取用户输入?

  6. 6

    如何在没有任何“边际作弊”的情况下使按钮的位置居中?

  7. 7

    在没有核心位置的情况下获取用户位置(Google Maps Geolocation?)

  8. 8

    作为Jenkins管理员,如何在不以用户身份登录的情况下获取用户的API令牌?

  9. 9

    C / Linux:如何在不使用“ getlogin”的情况下获取用户登录名

  10. 10

    R:如何在不替换且没有连续相同值的情况下进行采样

  11. 11

    如何在没有视框的情况下缩放具有高宽比和位置的控件?

  12. 12

    如何在没有NSFetchedResultsControllerDelegate的情况下获取结果?

  13. 13

    如何在不使用地理位置的情况下获取用户所在的城市

  14. 14

    如何在不使用核心位置服务的情况下获取用户的当前城市名称?

  15. 15

    是否可以在无需包含HERE Maps sdk的情况下获取用户在nokiax上的位置?

  16. 16

    在没有GPS和Internet的情况下获取当前电话位置

  17. 17

    如何在不收到“未使用变量”警告的情况下获取用户输入?

  18. 18

    如何在没有用户通过的情况下获取“ ID”

  19. 19

    如何在没有sudo的情况下更改核心转储位置

  20. 20

    Liferay:如何在serviceImpl类中不使用ThemeDisplay的情况下获取用户profilePicURL?

  21. 21

    如何使用GPS获取用户位置

  22. 22

    c#如何在没有延迟的情况下连续调用onpaint

  23. 23

    instagram 如何在没有像 PHP 中那样获取 ID 的情况下进行用户名系统

  24. 24

    如何在没有硬编码的情况下获取当前用户 ID?

  25. 25

    如何在没有用户实例的情况下获取 Active Directory 用户对象类的属性名称?

  26. 26

    如何在不登录的情况下从 firebase 实时数据库获取用户 ID(UID)

  27. 27

    如何在没有 SetLeft 的情况下以编程方式更改图像位置?

  28. 28

    如何在没有内置方法的情况下获取用逗号分隔的对象数组中的所有值和键

  29. 29

    如何在不渲染地图的情况下获取用户位置数据 - Leaflet

热门标签

归档