Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android判斷服務是否運行及定位問題實例分析

Android判斷服務是否運行及定位問題實例分析

編輯:關於Android編程

本文實例講述了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程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved