使用基本的 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 的符号。
还有其他人遇到这个或知道解决方案吗?