我是新的Android编码器,我在请求本地化更新时有问题. 我从接收 - 安装 - html . 我的应用程序可以处理异常,变得纬度和延长longitute,而地理编码器可以处理显示Adress.但是我只要求一个位置一次 - 或当位置更改时.我想做时间间隔.目前,我开始从教程实现代码,看起来像: public class MainActivity extends Activity implements GooglePlayServicesClient.ConnectionCallbacks, GooglePlayServicesClient.OnConnectionFailedListener, LocationListener { private static final int MILLISECONDS_PER_SECOND = 1000; public static final int UPDATE_INTERVAL_IN_SECONDS = 5; priv
以下是关于 locationlistener 的编程技术问答
问题: 用户可以选择多长时间以及开始跟踪您的locaton(如今天从08:00到16:00).因此,在此间隔期间,我的应用程序将每5分钟收听一次位置(这段时间可以更改,这是用户的喜好). 我在想什么: 在用户定义的时间间隔内,为GPS或网络位置的到来进行运行和聆听. 问题: 可以删除该服务长时间? 我需要在启动服务时注册听众到GPS和网络(即使他们尚未启用),或者我需要根据GPS和网络的状态注册和删除侦听器? 即使用户长时间不使用电话(例如一个小时),我的服务将继续运行吗? 解决方案 您无需为此注册服务.您可以使用Mak Murphy的 cwac-locpoll library 这是从上面链接的页面中获取的库的简短描述.您还会在那里找到代码示例. 您只需设置一个AlarmManager警报即可以您想要的任何频率联系LocationPoller,它将从那里处理所有位置工作,从而通过广播意图向您发送结果.然后,您的Broadc
如何从locationListener的OnProviderDisabled方法内发送通知? 到目前为止,我一直在使用: Toast.makeText(mainmenu, "GPS Location providers are disabled... blah blah", Toast.LENGTH_LONG).show();}}); 但是,当Mainmenu类是首次实例化时,使用静态的Mainmenu变量需要使用静态的Mainmenu变量 - 我会收集到一个坏主意,以防Mainmenu对象从内存中删除,我猜我应该使用通知. . 我想我需要能够参考一项活动以使意图 - 但是我可以参考什么活动,因为我的位置侦听器没有这样的参考? ? 解决方案 我不确定这是否会始终工作,但是您可以调用Application.getApplicationContext()并使用它. 如果您的位置Listener是活动的一部分(以内部类的形式),您也可以使用this.MyA
在我的service中,在某些情况下,我无法阻止GPS搜索和排干设备电池. locationListeneragent.java @Override public void onCreate() { thisContext = this; // Register ourselves for location updates networkListener = new LocationListenerAgent(); gpsListener = new LocationListenerAgent(); lmgrNet = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE); lmgrGps = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE); gps_enabl
我已经实施了一项从启动开始的Android服务: MyService.java package com.example.testservicelogging; import com.example.testservicelogging.MyBroadcastReceiver; import android.app.PendingIntent; import android.app.Service; import android.content.Context; import android.content.Intent; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.os.IBinder; import andr
我有一个Android应用程序.根据当前用户的地理位置,我想在后台获取一些远程数据并将其存储.我的实施是: 在特定的间隔A警报中发动了我的服务.服务使用匿名类查询当前位置并注册位置Listlistener回调.关于OnLocationChanged(),我启动了从服务器获取远程数据. 但是,一旦我的服务完成了使用匿名类别的位置侦听器注册,它将按预期返回;因为它不会等待回调在完成之前发生.由于回调需要一些时间并在服务返回后打电话,因此会出现一个错误说: java.lang.RuntimeException: Handler{43e82510} sending message to a Handler on a dead thread 这是可以理解的.现在对我来说,一个快速的解决方法是,我可以使用locationManager的getlastnoylocation,因为这不会通过回调响应.但是,如果我现在想要最新的位置,在服务而不是活动中,该怎么办?我如何等待回调发生并
我正在编写一个需要用户当前位置的应用程序(LastnoningLocation不会很有帮助),并显示从数据库中获取的所有最接近的"项目"列表. 我发现最接近的项目运行良好,但暂时只使用硬编码的纬度和经度位置,但是现在是时候实施找到实际位置了. 任何人都可以提供一个如何让应用程序在后台找到当前良好位置并让应用程序等待的示例.我只需要随着人的移动而无法更新的位置.我已经实现了位置侦听器,但是我知道获得GPS修复程序可能很慢.我已经看到了使用最后已知位置或实现位置侦听器继续运行和更新的其他示例,但是由于我的活动需要位置坐标,才能显示应用程序刚刚崩溃的任何内容.我需要在搜索时显示一个进度对话. 如何在后台运行一次locationListener,然后在找到位置后删除位置更新.我需要其余的应用程序才能等到它具有20-30秒之后的GPS位置或超时.我想要一个进步式的数据,以便用户知道发生了一些事情,但是它必须是旋转加载动画而不是百分比或其他任何东西.如果可能的话,我希望用户能够取消
我想使用osmdroid显示当前位置指针. getController().setCenter(new GeoPoint(location)); 此代码不显示指针.因此,对于Google Maps而言,osmdroid是否内置了任何内置的? 解决方案 您需要添加一个如下的myLocationOverlay. mMyLocationOverlay = new MyLocationOverlay(this, mOsmv, mResourceProxy); mMyLocationOverlay.disableMyLocation(); // not on by default mMyLocationOverlay.disableCompass(); mMyLocationOverlay.disableFollowLocation(); mMyLocationO
我试图从GPS/network中获取用户的位置,从GPS/network> GPS/network,我想快速获取它,否则先前的位置坐标将返回,如果现在无法获得新的坐标. 这是我的尝试: public class GPSTracker extends Service{ // The minimum distance to change Updates in meters private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters // The minimum time between updates in milliseconds private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute private final Context mContext;
我知道使用locationListener并触发GPS的方法是这样的: mapboxMap.setMyLocationEnabled(true); 我想在应用程序开始时打开locationListener,但我不想在startActivity中使用地图.只是使用locationListener没有地图. 我该如何处理mapbox? 解决方案 您可以使用LocationEngine实例获取位置更新而不显示地图. final LocationEngine locationEngine = new LostLocationEngine(this); locationEngine.setPriority(LocationEnginePriority.HIGH_ACCURACY); locationEngine.addLocationEngineListener(new LocationEngineListener() { @Override public v
我是Android的初学者.我有个问题.我想在收到短信时获得我的位置(纬度和经度).我能怎么做. 如果您有示例代码,它将更有帮助. 感谢您的帮助. 解决方案 请参阅在此示例中,当前位置将显示,并且触摸的位置也将使用Lat-Lon显示. 其他解决方案 在您在设备上获得SMS时获得纬度和经度,您将需要以下步骤: 步骤1: 注册android.provider.Telephony.SMS_RECEIVED广播员,以接收传入的SMS通知: 为此,您可以使用以下教程: 步骤2: 要在收到的SMS上检索位置,您需要在SMS Broadcastreceiver中启动服务(IntentService)为: public class SmsReciever extends BroadcastReceiver { private static final String TAG = "Message recieved"; @Override pub
我在Eclipse中使用loactionListener for Android遇到了麻烦.我已经谷歌搜索了一段时间,我似乎看不到为什么这不起作用.我唯一能想到的是,也许是因为我的测试设备没有SIM. (通过wifi提供互联网). 我已经使用了 this 作为参考而且,什么都没有. 任何人都可以帮助我解决这个问题. 这是我活动的相关部分: public class MainMenu extends Activity implements LocationListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_menu); theMap = ((MapFragment)getFragmentManag
我想实现一个位置插体,该locationListener将根据可用性在网络和GPS提供商之间进行切换. 例如,如果未启用GPS,我希望它使用网络,但是一旦GPS开始,我就希望它停止侦听网络中的位置更新并从GPS聆听. 类似地,我希望它一旦关闭GPS就开始从网络中收听更新. 可能吗? 子问题 GPS在提供位置修复时与网络一样快? 解决方案 当然,您只需获得网络和GPS的提供商,然后将您要locationManager.requestLocationUpdates()传递. 当您想停止聆听某个提供商时,请使用locationManager.requestLocationUpdates()中指定的侦听器对象致电locationManager.removeUpdates(). 网络: Criteria crit = new Criteria(); crit.setPowerRequirement(Criteria.POWER_LOW); c
如果GPS_Provider的状态更改,我正在尝试获取通知.我在这里找到了以下代码(http://hejp.co.uk/android/android-gps-example/),但我没有收到通知. 现在我在建筑物中,无法收到GPS信号,所以我不会收到通知"状态更改:停机"? 什么时候被称为? 我在做什么错? 谢谢, @Override public void onStatusChanged(String provider, int status, Bundle extras) { /* This is called when the GPS status alters */ switch (status) { case LocationProvider.OUT_OF_SERVICE: Log.v(tag, "Status Changed: Out of Service"); Toast.makeText(th
我想构建一个应用程序,用户可以在其中制作使用手机当前位置标记的FOTO.因此,在制作FOTO之后,用户可以通过访问"保存"按钮来保存图片.如果触摸了按钮,则当前位置将使用我自己的位置列表类确定.在找到位置后,听众班级显示了进度的dialog并将其解散.但是现在我想知道哪个可以将位置返回到调用活动,因为位置侦听器方法是回调方法.是否有"最佳实践"解决方案,或者有任何线索? 位置听众: public class MyLocationListener implements LocationListener { private ProgressDialog progressDialog; private Context mContext; private LocationManager locationManager; public MyLocationListener(Context context, ProgressDialog dialog) { mContext
我想在我的应用程序上运行一个locustlistener,该应用程序每10m或每5秒钟发送一次新的"弹出窗口".后来我将数据发送到云. 这是我的GPSTRACKER类: import android.app.AlertDialog; import android.app.Service; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.os.IBinder; import android.provider.Se
我正在尝试通过为其构成的唯一requentent来添加位置侦听器中的多个接近警报,但我无法获取我设置该位置的警报.和应用程序也崩溃了几次,请帮助 这是我的代码 public class LocationTrackerService extends Service implements LocationListener { private static final long RADIUS = 1000; // in Meters private static final long PROX_ALERT_EXPIRATION_TIME = -1; Context context; String msg; LocationManager locationManager; publi
我正在进行针对5.0和向上的黑莓应用程序.我有一个延伸线程的类并实现loadyListener. 我设法在CelloTe上获得GPS更新,以及辅助和非归档等其他模式. 我真正尝试的东西是使用细胞没有,而另外但是,一旦可用,就可以切换到它们. 正确的路线似乎通过"ProviderstaTeChanged",但这从不触发. 任何想法? 解决方案 使用 BlackBerryLocationProvider 和 blackberrycriteria 您可以指定GPS位置,然后使用GPS启用地理位置.然后,如果GPS不可用,则系统将提供基于地理定位的修复程序(细胞或Wi-Fi).这是以OS 5.0开始的.请参阅链接的API文档.
我有以下代码: public class MyLocationListener implements LocationListener { @Override public void onLocationChanged(Location loc) { // called when the listener is notified with a location update from the GPS Log.d("Latitude", Double.toString(loc.getLatitude())); Log.d("Longitude", Double.toString(loc.getLongitude())); } @Override public void onProviderDisabled(String provider) { // called when the GPS provider is turned off (user tu
哪种方法是更好的方法,直接实现LocationListener像这样 public class BackgroundService extends Service implements LocationListener {} 或通常在类内声明LocationListener? LocationListener locationListener = new LocationListener() {}; 解决方案 在调用接口的方法之前,您必须在第二件代码中调用属性locationListener. 在第一件代码中,您可以直接访问接口方法. 因此,如果您知道每种方法呼叫的费用为CPU时间,则直接在课堂上实施它,而不是将其作为属性进行. 在这种情况下,您有1个引用BackgroundService您可以访问LocationListener的方法 public class BackgroundService extends Service implem