gpt4 book ai didi

java - Android Studio : Unable to resolve Symbol 'requestLocationUpdates'

转载 作者:行者123 更新时间:2023-12-01 14:19:51 25 4
gpt4 key购买 nike

使用基本的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com