本文實例講述了Android判斷服務是否運行及定位問題。分享給大家供大家參考。具體如下:
/*** 判斷服務是否正在運行* * @param context* @param className 判斷的服務名字:包名+類名* @return true在運行 false 不在運行*/public static boolean isServiceRunning(Context context, String className) { boolean isRunning = false; ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); //獲取所有的服務 List<ActivityManager.RunningServiceInfo> services= activityManager.getRunningServices(Integer.MAX_VALUE); if(services!=null&&services.size()>0){ for(ActivityManager.RunningServiceInfo service : services){ if(className.equals(service.service.getClassName())){ isRunning=true; break; } } } return isRunning;}
在android開發中,經常會使用locationManager.getLastKnownLocation()定時獲取經緯度,在不同真機測試中有的可以獲取有的不可以獲取,為了解決不同手機的兼容下,請用如下代碼
public static Location getLocation(LocationManager locationManager, LocationListener locationListener) { Location location=null; location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); if(location==null){ location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener); } return location;}
希望本文所述對大家的Android程序設計有所幫助。
新聞熱點
疑難解答
圖片精選