Tag: gps

从活动将对象传递给IntentService

为了节省我的应用程序中的电池,我决定使用“新”融合位置。 但是我需要将一些参数传递给接收GPS更新的服务。 它在下面完成的方式可以工作( putExtras(…) ),但我需要制作很多类Serializable / Parseable,这将是一个痛苦。 我已经四处搜索并找到了使用Binder的其他方法,但无法弄清楚如何让它工作。 是使用Binder的唯一途径还是另一种? 如果有任何不清楚的地方,请告诉我们。 谢谢。 public class LocationService extends IntentService { … public LocationService(StartActivity startActivity, DatabaseSQLite db, HomeFragment homeFragment) { super(“Fused Location Service”); … } @Override public int onStartCommand(Intent intent, int flags, int startId) { db = (DatabaseSQLite) intent.getExtras().get(“DatabaseSQLite”); … return START_REDELIVER_INTENT; } } 这就是它在我的活动中的用法: @Override public void onConnected(Bundle […]

通过短信发送GPS坐标

我是android的新手。 我正在尝试开发一个应用程序,用于获取用户当前的GPS坐标并通过短信发送到硬编码的数字。 我正在使用两个活动,第一个有进度条和一些文本(Processing,Please wait),它实际上是在后台获取GPS坐标。 第二个是从第一个活动接收坐标并发送短信。 我面临的问题是,在MainActivity.java文件中,条件if(纬度> 0)永远不会满足,因为gps通常需要一些时间来获取坐标,我不能去第二个活动。 我附上代码,请帮帮我。 如果你愿意,你可以编辑代码。 提前致谢。 package com.shaji.smartcab; import com.shaji.smartcab.MainActivity; import com.shaji.smartcab.MyLocationListener; import com.shaji.smartcab.R; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.TextView; import android.widget.Toast; import android.location.LocationListener; import android.content.Context; import android.content.Intent; import android.location.LocationManager; public class MainActivity extends Activiy{ double lat; double lon; String coordinates; String coor; @Override protected void onCreate(Bundle savedInstanceState) { […]

Android位置未从自定义类返回位置

我有自己的位置课程。 我有一个赔率结果,当我使用我的class级搜索GPS位置时,我得到0,0回。 然而,如果我在位置管理器中搜索GPS的getLastKnown函数,我会得到强制值: public Location getGPSloc(Context c){ isGPSavailable(c); if(gps_enabled) lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 0, locationListenerGps); timerGPS = new Timer(); timerGPS.schedule(new GetLastLocationGPS(), 45000); return gpsLoc; } 这是我从函数外部调用的类,我在调用中使用this.getApplicationContext()。 这是GetLastLocationGPS(): class GetLastLocationGPS extends TimerTask { @Override public void run() { lm.removeUpdates(locationListenerGps); if(gps_enabled){ gpsLoc = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);} else{ gpsLoc = null; } } } 这是听众: LocationListener locationListenerGps = new LocationListener() { @Override […]

Android模拟器,查找模拟用户位置坐标。 有问题

嘿伙计们,我在尝试查找用户的经度和位置时遇到了麻烦,因为我运行程序并为模拟位置设置了genet修复的telnet命令。 在模拟器运行时,我只为模拟器设置模拟坐标,使其无响应,并且我的程序在检测输入坐标时失败。 import android.app.Activity; import android.content.Context; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.location.LocationProvider; import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; public class LBSact extends Activity{ /** Called when the activity is first created. */ public double longitude; public double latitude; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); longitude = 0; latitude = 0; //Creating the […]

Google Play服务中的LocationRequest不会更新,间隔设置为小于1秒。

我正在开发一个Android应用程序,我需要在其中显示每秒30-40次更新的位置更新。 我正在使用Google I / O 2013中引入的Google Play服务的位置API 。它使用融合位置提供商(利用加速度计和其他传感器以及GPS)来实现更准确,更有效的位置跟踪。 这是我的代码: protected void startLocationTracking() { if (GooglePlayServicesUtil.isGooglePlayServicesAvailable(this)) { mLocationClient = new LocationClient(this, mConnectionCallbacks, mConnectionFailedListener); mLocationClient.connect(); } } private ConnectionCallbacks mConnectionCallbacks = new ConnectionCallbacks() { @Override public void onDisconnected() { } @Override public void onConnected(Bundle arg0) { LocationRequest locationRequest = LocationRequest.create(); locationRequest.setFastestInterval(0); locationRequest.setInterval(0).setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); mLocationClient.requestLocationUpdates(locationRequest, mLocationListener); } }; private […]

如何? 侦听位置设置被打开(Android App)

所以我花了几个星期的时间来研究我的Android应用程序,并研究实现我需要做的最好的方式,但仍然无法正确使用..任何/所有帮助都非常感谢,因为我仍然掌握着一切…… 任务: (假设“位置”/ GPS设置当前已关闭),我需要让我的应用程序一直在监听“位置”设置是否打开..此时,只需启动一个活动。 思路: 这些是我认为可能有用的不同方式: LocationListener使用“onProviderEnabled” 使用“onGpsStatusChanged”和“GPS_EVENT_STARTED”的GpsStatusListener GpsProvider需要卫星(以确定它是否开始),或以某种方式使用GpsProvider的“AVAILABLE”Constant / int 使用“ACTION_SERVICE_INTENT”(和/或)“ACTION_INJECTED_SETTING_CHANGED”和“onGetEnabled”或“isEnabled”的SettingInjectorService Settings.Secure使用“LOCATION_MODE”!=“LOCATION_MODE_OFF” ContentObserver / ContentResolver 意图getAction(…) 某种“if / else” 问题: 任何以下任何问题的建议或答案都非常感谢.. 以上哪些想法是完成任务的最佳方式? 越简单越好,但最重要的是它需要随时监听,并在打开位置设置时立即响应。 对于上述哪一个最佳效果,我将如何实现它? (例如,我需要一个BroadcastListener?还是一个服务?它将如何组合在一起? 我非常感谢你能给我提供的任何建议或帮助..我仍然掌握所有这些,但有足够的信心去做,并渴望发布我的第一个应用程序..所以,谢谢你,这意味着很多并将极大地帮助我。 编辑: 好的,所以这就是我到目前为止所拥有的…… inheritance人我的接class人: MyReceiver.Java public class MyReceiver extends BroadcastReceiver { private final static String TAG = “LocationProviderChanged”; boolean isGpsEnabled; boolean isNetworkEnabled; public MyReceiver() { // EMPTY // MyReceiver […]

如何设置Android Mock GPS位置?

描述 我在尝试使用android模拟位置时遇到了问题,我的主要目标是将android GPS设置为认为我们处于不同的位置,AKA假GPS。 目前的尝试 我目前尝试了两种不同的类似解决方案,可以在这两个网站上找到: 编程丛林 Mobiarch 这两个教程都是从2012年开始的,我不知道它们是否已经过时,或者我很难实现它们。 编码开发 首先,我确保我有权限: ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION ACCESS_MOCK_LOCATION * 注意 :1和2都被检查,如果它们不可用我请求使用requestPermissions函数的权限。 第三个是不可用的,事实上它只能通过AndroidManifest.xml在调试模式下添加。 我还确保在设置>开发人员选项>允许MOCK位置中选择了我的APP。 毕竟,我已经完成了这个function,我尝试通过OnCreate方法或OnClick按钮调用: public void mockLocation(){ LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criteria(); criteria.setAccuracy( Criteria.ACCURACY_FINE ); String mocLocationProvider = lm.getBestProvider( criteria, true ); if ( mocLocationProvider == null ) { Toast.makeText(getApplicationContext(), “No location provider found!”, Toast.LENGTH_SHORT).show(); […]

Java中的多点三边测量算法

我正在尝试在我的Android应用程序中实现三边测量算法,以确定用户的室内位置。 我正在使用超宽带信标来获得到固定点的距离。 我能够调整Trilateration Method Android Java中建议的方法如下: public LatLng getLocationByTrilateration( LatLng location1, double distance1, LatLng location2, double distance2, LatLng location3, double distance3){ //DECLARE VARIABLES double[] P1 = new double[2]; double[] P2 = new double[2]; double[] P3 = new double[2]; double[] ex = new double[2]; double[] ey = new double[2]; double[] p3p1 = new double[2]; double jval […]

关闭UI线程的Android GPS回调

我无法让GPS的onLocationChanged在另一个线程上运行。 我理解如何在调用函数时管理UI线程,但是使用GPS时,我不会主动调用该函数。 我的意图是每次GPS接收到读数时闪烁。 我把这个函数放在Runnable中。 我将此函数传递给实现LocationListener的类。 然后在主类中,我启动了一个调用requestLocationUpdates的新线程。 我希望LocationListener的onLocationChanged将在不同的线程中运行,发布到回调并在UI线程中进行必要的UI效果。 不幸的是,每次尝试调用requestLocationUpdates时程序都会崩溃。 这样做的正确方法是什么? 现在它看起来像这样 主要课程: final Runnable changeLight = new Runnable(){ public void run(){ // do stuff } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.capture); status = (ImageView) findViewById(R.id.status); database = new DatabaseManager(this); new Thread(){ public void run(){ location = (LocationManager) getSystemService(LOCATION_SERVICE); listener = new GPSManager(database, changeLight, […]

在对话框中启用GPS后,Android位置返回null

当我进入屏幕时,我检查GPS是否打开,如果没有,则显示启用GPS的对话框。 当用户单击是时,onActivityResult – > GPS已打开,我尝试获取该位置,但这始终返回null 当我进入已经打开GPS的屏幕时,可以正确检索位置。 我几天来一直苦苦挣扎,似乎找不到任何资源。 UserLocationUtilities.java public class UserLocationUtilities implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener{ GoogleApiClient googleApiClient; Activity activity; protected static final int REQUEST_CHECK_SETTINGS = 0x1; boolean isGPSEnabled = false; // flag for network status boolean isNetworkEnabled = false; // flag for GPS status boolean canGetLocation = false; protected LocationManager locationManager; protected LocationListener locationListener; protected […]