嗨,我开发了一个应用程序,以查找最佳位置并将其短信发送至某个号码。它在网络位置上可以正常工作,但是当我想在GPS或Criteria类中定位时,它会强制关闭!您好帮助我tnx。
package ir.M410.toolkit;
import android.app.Service;
import android.content.Intent;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.IBinder;
import android.telephony.SmsManager;
import android.util.Log;
public class LocationFinder extends Service implements LocationListener{
double lat ,lon ;
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// We want this service to continue running until it is explicitly
// stopped, so return sticky.
LocationManager mlocationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setPowerRequirement(Criteria.POWER_MEDIUM);
String locationprovider = mlocationManager.getBestProvider(criteria, true);
Location mlocation = mlocationManager.getLastKnownLocation(locationprovider);
lat = mlocation.getLatitude ();
lon = mlocation.getLongitude ();
Log.i("Geo_Location", "Latitude: " + lat + ", Longitude: " + lon);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage("+11231233213", null,"https://maps.google.com/maps?q="+lat+","+lon, null, null);
// SmsManager sms = SmsManager.getDefault();
//sms.sendTextMessage(MainActivity.senderNum, null," "+"lat:"+lat+" "+"lon:"+lon, null, null);
//stopSelf();
return START_NOT_STICKY;
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
lat= location.getLatitude();
lon =location.getLongitude();
Log.i("Geo_Location", "Latitude: " + lat + ", Longitude: " + lon);
// stopSelf();
}
相关分类