我正在尝试使用Little Fluffy Location Library来获取我的小应用程序的位置信息。我让它在一个异步进程中运行,如下所示:
private class ShowLocationTask extends AsyncTask<Void, Void, Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
//LocationLibrary.forceLocationUpdate(getApplicationContext());
latestInfo = new LocationInfo(getBaseContext());
latestInfo.refresh(getBaseContext());
lat = latestInfo.lastLat;
lng = latestInfo.lastLong;
return true;
}
protected void onPostExecute(Boolean result) {
if (result != true) {
Toast.makeText(ACTIVITY.this,
"Cannot get your location...", Toast.LENGTH_LONG)
.show();
} else {
Date date = new Date(latestInfo.lastLocationUpdateTimestamp);
Toast.makeText(ACTIVITY.this,
"Last Updated: " + date, Toast.LENGTH_LONG).show();
LatLng meLoc = new LatLng(lat, lng);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(meLoc) // Sets the center of the map to
.zoom(ZP).bearing(0).tilt(80).build();
map.animateCamera(CameraUpdateFactory
.newCameraPosition(cameraPosition));
Toast.makeText(ACTIVITY.this,
"..." + lat + " : " + lng, Toast.LENGTH_LONG).show();
Log.e("LATLON", lat + " : " + lng);
}
}
}
我在我的 onCreate() 中调用它。
userLoc.execute();
我用这个类扩展了我的应用程序:
公共类 FluffyLocation 扩展应用程序 {
@Override public void onCreate() { super.onCreate();
LocationLibrary.showDebugOutput(true); try { LocationLibrary.initialiseLibrary(getBaseContext(), 0, 2 * 60 * 1000, "com.jasonflaherty.snoteldata"); } catch (UnsupportedOperationException ex) { Log.d("Application", "UnsupportedOperationException thrown - the device doesn't have any location providers"); } }
}
清单中的设置:
<receiver android:name="com.littlefluffytoys.littlefluffylocationlibrary.StartupBroadcastReceiver" android:exported="true" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> <receiver android:name="com.littlefluffytoys.littlefluffylocationlibrary.PassiveLocationChangedReceiver" android:exported="true" />
我知道它正在运行,因为每次活动运行时我都会让 TOAST 显示信息......我试图在每次用户打开应用程序时获取当前位置。我想我错过了这是如何工作的。我在想 latestInfo.refresh() 会给我最新的信息,但是,如果我搬到 200 米外的另一个位置,我仍然会得到相同的 lat/lng 和相同的 .lastLocationUpdateTimestamp。
我想获取当前用户位置,然后定期获取更新。由于这个原因,这个库似乎很完美......但我没有得到结果。我没有正确实施吗?
编辑::::
我没有实现广播接收器,但是,我不确定如何让它为多个类工作。我有 3 个不同的会询问用户位置...