2023年7月7日发(作者:)
Android的Location功能代码⽆废话,上代码。此代码为Location功能的简单封装。
package ;
import ty;
import t;
import ;
import on;
import onListener;
import onManager;
import ;
public class LocationUtil {
public static boolean isEnabled(Context context) {
LocationManager mLocationManager = (LocationManager) context
.getSystemService(ON_SERVICE);
if (iderEnabled(_PROVIDER)) {
return true;
}
if (mLocationManager
.isProviderEnabled(K_PROVIDER)) {
return true;
}
return false;
}
public static void startLocationService(Context context) {
LocationManager mLocationManager = (LocationManager) context
.getSystemService(ON_SERVICE);
tLocationUpdates(_PROVIDER,
1000L, 10, mLocationListener);
tLocationUpdates(
K_PROVIDER, 1000L, 10,
mLocationListener);
}
public static void stopLocationService(Context context) {
LocationManager mLocationManager = (LocationManager) context
.getSystemService(ON_SERVICE);
Updates(mLocationListener);
}
public static Location getLocationByGPS(Context context) {
LocationManager mLocationManager = (LocationManager) context
.getSystemService(ON_SERVICE);
Location location = mLocationManager
.getLastKnownLocation(_PROVIDER);
return location; }
public static Location getLocationByNetwork(Context context) {
LocationManager mLocationManager = (LocationManager) context
.getSystemService(ON_SERVICE);
Location location = mLocationManager
.getLastKnownLocation(K_PROVIDER);
return location;
}
public static void openLocationSetting(Activity act, int requestCode) {
ctivityForResult(new Intent(ACTION_LOCATION_SOURCE_SETTINGS),
requestCode);
}
private static final LocationListener mLocationListener = new LocationListener() {
public void onLocationChanged(Location location) {
// 当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发
n("onLocationChanged:" + itude());
}
public void onProviderDisabled(String provider) {
// Provider被disable时触发此函数,⽐如GPS被关闭
n("onProviderDisabled:" + provider);
}
public void onProviderEnabled(String provider) {
// Provider被enable时触发此函数,⽐如GPS被打开
n("onProviderEnabled:" + provider);
}
public void onStatusChanged(String provider, int status, Bundle extras) {
// Provider的转态在可⽤、暂时不可⽤和⽆服务三个状态直接切换时触发此函数
n("onStatusChanged:" + status);
}
};
}
需要增加权限:
android:name="_FINE_LOCATION" /> android:name="_COARSE_LOCATION" /> --------------------------------------------------------------------------- [b]GL(arui319) [/b] [b]/arui319[/b] [b]<本⽂可以转载,但是请保留以上作者信息。谢谢。>[/b] ---------------------------------------------------------------------------
发布者:admin,转转请注明出处:http://www.yc00.com/web/1688673563a161487.html
评论列表(0条)