【发布时间】:2017-05-24 13:40:57
【问题描述】:
所以我的问题很简单,我不知道如何在这段代码中实现 checkPermission。我已经阅读了它,但我仍然无法完全理解它。我的一个问题是,一些示例希望我指向一项活动,但这不起作用。
我请求位置更新的行抛出 SecurityException 并希望我执行 checkPermission。
代码示例和/或解释会让我非常感激。
如果我的解释不足,请事先原谅,我在这方面很糟糕!
public class LocationHandler implements LocationListener {
private final Context mContext;
// flag for GPS status
boolean isGPSEnabled = false;
// flag for network status
boolean isNetworkEnabled = false;
boolean canGetLocation = false;
Location location; // location
double latitude; // latitude
double longitude; // longitude
// 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
// Declaring a Location Manager
protected LocationManager mLocationManager;
public LocationHandler(Context context) {
this.mContext = context;
mLocationManager = (LocationManager) mContext
.getSystemService(Context.LOCATION_SERVICE);
//Check Permission
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
}
@Override
public void onLocationChanged(Location location) {
String msg = "New Latitude: " + location.getLatitude()
+ "New Longitude: " + location.getLongitude();
Toast.makeText(mContext, msg, Toast.LENGTH_LONG).show();
}
@Override
public void onProviderDisabled(String provider) {
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
mContext.startActivity(intent);
Toast.makeText(mContext, "Gps is turned off!! ",
Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderEnabled(String provider) {
Toast.makeText(mContext, "Gps is turned on!! ",
Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
【问题讨论】:
标签: java android locationmanager android-gps