大佬教程收集整理的这篇文章主要介绍了android – 位置用Gps解决,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的回答
更新的答案
public class Myservice extends service { String GPS_FILTER = ""; Thread triggerservice; LOCATIOnListener LOCATIOnListener; LOCATIOnManager lm; private static final long MINIMUM_DISTANCE_CHANGE_FOR_updatES = 1000; // in Meters private static final long MINIMUM_TIME_betweeN_updatES = 1000*60; // in Milliseconds protected LOCATIOnManager LOCATIOnManager; Boolean isRunning = true; @Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); GPS_FILTER = "MyGPSLOCATIOn"; // LOCATIOnManager = (LOCATIOnManager) getSystemservice(Context.LOCATION_serviCE); // LOCATIOnManager.requestLOCATIOnupdates( // LOCATIOnManager.GPS_PROVIDER,// MINIMUM_TIME_betweeN_updatES,// MINIMUM_DISTANCE_CHANGE_FOR_updatES,// new MyLOCATIOnListener()); } @Override public void onStart(Intent intent,int startId) { // TODO Auto-generated method stub super.onStart(intent,startId); turnGPSOn(); Toast.makeText(getApplicationContext(),"Hello1",Toast.LENGTH_LONG).show(); LOCATIOnManager LOCATIOnManager = (LOCATIOnManager)getSystemservice(Context.LOCATION_serviCE); LOCATIOnListener = new MyLOCATIOnListener(); LOCATIOnManager.requestLOCATIOnupdates(LOCATIOnManager.GPS_PROVIDER,MINIMUM_TIME_betweeN_updatES,1.0f,LOCATIOnListener); } @Override public void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); // removeGpsListener(); } @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } // private void removeGpsListener(){ // try{ // lm.removeupdates(LOCATIOnManager); // } // catch(Exception eX){ // System.out.println("Exception in GPSservice --- "+eX); // } // } private class MyLOCATIOnListener implements LOCATIOnListener { public void onLOCATIOnChanged(LOCATIOn LOCATIOn) { postdata(LOCATIOn.getLatitude(),LOCATIOn.getLongitude()); String message = String.format( "New LOCATIOn \n Longitude: %1$s \n Latitude: %2$s",LOCATIOn.getLongitude(),LOCATIOn.getLatitude() ); Toast.makeText(Myservice.this,message,Toast.LENGTH_LONG).show(); turnGPSOnOff(); } public void onStatusChanged(String s,int i,Bundle b) { // Toast.makeText(Myservice.this,"Provider status changed",// Toast.LENGTH_LONG).show(); } public void onProviderDisabled(String s) { // Toast.makeText(Myservice.this,// "Provider disabled by the user. GPS turned off",// Toast.LENGTH_LONG).show(); } public void onProviderEnabled(String s) { // Toast.makeText(Myservice.this,// "Provider enabled by the user. GPS turned on",// Toast.LENGTH_LONG).show(); } }
也叫使用服务
Calendar cur_cal = Calendar.geTinstance(); cur_cal.setTimeInMillis(System.currentTimeMillis()); Intent intent = new Intent(this,Myservice.class); PendingIntent pintent = PendingIntent.getservice(login.this,intent,0); AlarmManager alarm = (AlarmManager)getSystemservice(Context.ALARM_serviCE); alarm.setRepeaTing(AlarmManager.RTC_WAKEUP,cur_cal.getTimeInMillis(),60*1000,pintent);
TimerTask doAsynchronousTask; long timerCall = 5000; final Handler handler = new Handler(); Timer timer = new Timer(); public static int times = 0; // For tracking doAsynchronousTask = new TimerTask() { @Override public void run() { handler.post(new Runnable() { public void run() { try { performBACkgroundTask.execute();//In this function add your code which you want to call repeatedly. OR ADD lm = (LOCATIOnManager)getSystemservice(Context.LOCATION_serviCE); Toast.makeText(getApplicationContext(),Toast.LENGTH_LONG).show(); gpsLOCATIOnListener = new GpsListener(); long minTime = 30000; // 5 sec... float minDistance = 10; lm.requestLOCATIOnupdates(LOCATIOnManager.GPS_PROVIDER,minTime,minDistance,gpsLOCATIOnListener); Log.d("BGT","BGT=" + times++);//how many time it called } catch (Exception E) { } } }); } }; timer.schedule(doAsynchronousTask,timerCall);// execute in every 50000 ms
`
以上是大佬教程为你收集整理的android – 位置用Gps解决全部内容,希望文章能够帮你解决android – 位置用Gps解决所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。