- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用基本的 GPS 代码时,我遇到了新 Android Studio 的问题 - 我的意思是它的预览软件到目前为止已经足够可靠,可以全职使用。所以这是给我带来问题的代码:
import android.app.Activity;
import android.app.AlertDialog;
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.widget.TextView;
public class WhereAmI extends Activity implements LocationListener{
TextView lat, lon, alt, status;
Context myContext = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.whereami);
lat = (TextView)findViewById(R.id.latTxt);
lon = (TextView)findViewById(R.id.lonTxt);
alt = (TextView)findViewById(R.id.altTxt);
status = (TextView)findViewById(R.id.gpsStatus);
}
/* Use the LocationManager class to obtain GPS locations */
LocationManager LM = (LocationManager) getSystemService(LOCATION_SERVICE);
//Gather GPS data at a certain time interval.
LM.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1, 1f, myContext);
//Check to see if GPS is on
boolean isGPS = LM
.isProviderEnabled(LocationManager.GPS_PROVIDER);
//If its off, request to turn it on.
if (isGPS == false)
{
//Enable GPS pop-up notification.
AlertDialog.Builder adb = new AlertDialog.Builder(myContext);
// set title
adb.setTitle("Enable GPS?");
// set dialog message
adb.setMessage("Enable GPS to get full function from the app.");
adb.setCancelable(false);
//Yes Button
adb.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
startActivityForResult(
new Intent(
android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS),
0);
}
});
//No Button
adb.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
// create GPS Alert [Pop-up]
AlertDialog alertDialog = adb.create();
// show it
alertDialog.show();
}
else
{
//Added this so when the app gets refreshed it will show the true GPS info status.
status.setText("GPS Status: Enabled");
}
@Override
public void onLocationChanged(Location location) {
lat.setText("Latitude: " + location.getLatitude());
lon.setText("Longitude: " + location.getLongitude());
alt.setText("Altitude: " + location.getAltitude());
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
}
@Override
public void onProviderEnabled(String s) {
status.setText("GPS Status: Enabled");
}
@Override
public void onProviderDisabled(String s) {
}
}
由于某种原因,它不断出现无法解析 requestLocationUpdates 的符号。
还有其他人遇到过这个问题或者知道解决方案吗?
最佳答案
没有将 Context
作为输入的 requestLocationUpdates()
函数。以下是 requestLocationUpdates() 允许的参数功能:
requestLocationUpdates(long minTime, float minDistance, Criteria criteria, PendingIntent intent)
requestLocationUpdates(long minTime, float minDistance, Criteria criteria, LocationListener listener, Looper looper)
requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener)
requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener, Looper looper)
requestLocationUpdates(String provider, long minTime, float minDistance, PendingIntent intent)
参见LocationManager页面也是如此。希望这可以帮助。
更新
将以下代码移入oncreate()
:
/* Use the LocationManager class to obtain GPS locations */
LocationManager LM = (LocationManager) getSystemService(LOCATION_SERVICE);
//Gather GPS data at a certain time interval.
LM.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1, 1f, myContext);
//Check to see if GPS is on
boolean isGPS = LM
.isProviderEnabled(LocationManager.GPS_PROVIDER);
//If its off, request to turn it on.
if (isGPS == false)
{
//Enable GPS pop-up notification.
AlertDialog.Builder adb = new AlertDialog.Builder(myContext);
// set title
adb.setTitle("Enable GPS?");
// set dialog message
adb.setMessage("Enable GPS to get full function from the app.");
adb.setCancelable(false);
//Yes Button
adb.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
startActivityForResult(
new Intent(
android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS),
0);
}
});
//No Button
adb.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
// create GPS Alert [Pop-up]
AlertDialog alertDialog = adb.create();
// show it
alertDialog.show();
}
else
{
//Added this so when the app gets refreshed it will show the true GPS info status.
status.setText("GPS Status: Enabled");
}
关于java - Android Studio : Unable to resolve Symbol 'requestLocationUpdates' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17706914/
我正在发送纬度、经度和位置名称以保存在服务器上....问题是当我第一次运行我的应用程序时它正常并保存以上数据一次...当我关闭我的应用程序并且模拟器正在运行时并且 eclipse 也再次启动我的应用程
RequestLocationUpdates 是 LocationManager 的一个方法,周期性接收 GPS 信息。 我认为如果我从 onCreate 应用程序发送应该不会有问题,因为它不会对主线
我正在尝试从 2 个不同的提供商处获取位置信息:网络和 GPS。 我在 requestLocationUpdates 中使用 minTime 1 分钟和 minDistance 300 米。使用这些参
您好,我正在尝试从 UI 线程以外的线程请求位置更新,我在以下行中得到一个 RuntimeExeption: // request location updates using Cellular lm
我是 Android 和 Xamarin 世界的新手。我正在尝试为位置管理器创建一个单独的类以用于不同的 Activity 。这是我的代码 using System; using Android.Co
在我的 Android 应用程序中,我使用 GoogleApiClient 来处理位置服务。当我按以下方式调用 requestLocationUpdates() 时一切正常: locationProv
使用带有 requestLocationUpdates() 的位置管理器对象与仅使用 LocationListener 有什么区别?他们都做同样的事情并且以同样的方式工作吗?一个比另一个有什么优势?
我有一个严重的问题。在 Android 中调用 requestLocationUpdates 函数时,GPS 会监听当前位置。但如果手机在室内(比如地下),则 GPS 将继续监听,直到固定位置。 这会
我试图通过 Android 中的 GPS 定期获取用户位置并将数据发送到远程数据库,但我得到异常:无法在未调用 Looper.prepare 的线程内创建处理程序( )。 检索位置的方法在远程服务中,
我在我的应用程序中使用教程等中的以下代码,以从 GPS(或者如果 GPS 未打开,则网络)获取最佳位置修复,然后我将其显示在文本字段中。 crit = new Criteria(); context
我只需要一次 GPS 中的实际位置。在此代码中,永远不会调用 onLocationChanged,我不明白为什么。正如我所说: mLocationManager.requestLocationUpda
抱歉,我知道这里发生了这样的问题,但我无法在我的代码中解决它们,我是初学者......因此,我试图从 LocationManager 读取 GPS 坐标,但我的代码抛出“无法在未调用 Looper.p
我有一个获取 GPS 坐标的简单类 GPSListener: public class GPSListener implements LocationListener { public static
这就是 requestLocationUpdates 的样子(我使用它的方式): requestLocationUpdates(String provider, long minTime, float
我需要将 requestLocationUpdates() 放在一个单独的线程中,以免它阻塞我应用程序的其余部分(它将在大部分时间运行)。最好的方法是什么? 最佳答案 当您调用 requestLoca
如何更新时间和距离间隔,或者以不同的间隔再次调用 requestLocationUpdates? 我的代码: LocationManager locationManager = (LocationMa
(这是关于android中的LocationManager类) 是否有一种使用requestLocationUpdates 的方法,但在某种程度上允许它每次都为我提供最佳 Activity 提供者的结
请告诉我一件事 这是请求位置更新的两种变体 Criteria mFineCriteria = new Criteria(); mFineCriteria.setAccuracy(Criteria.AC
我只有一台设备 (HTC HD Deside) 用于测试我的应用程序以及何时需要使用 locationManager.requestLocationUpdate(criteria,0,0,this);
从 LocationManager 调用 requestLocationUpdates 是否会更新 getLastLocation 返回的位置? 即,我可以这样做吗: 调用 getLastLocati
我是一名优秀的程序员,十分优秀!