定位:
LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE);
List<String> providers = lm.getAllProviders();
MyListener listener = new MyListener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);
权限:
//良好坐标
//粗糙坐标
// 模拟坐标。
2、振动器;
getSystemService(VIBRATOR_SERVICE)
Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
vibrator.vibrate(new long[]{1000,2000,1000,2000}, -1); //先等1秒钟,再震动2s,然后在等,一秒钟,再震动2秒钟。 -1 表示不循序 0: 表示从头循环, 2:表示从第三个开始循环。一直震动。 第二个参数表示从第几个位置开始循环。
<uses-permission android:name="android.permission.VIBRATE"/> //震动也是需要权限的。
3、TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); 电话管理者。
context : activity. service 都属于context的子类。 可以监听电话的状态。 tm.listen
4、 ActivityManager am = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE);
activityManager 可以获取系统服务的所有数量,
public class ServiceStatusUtils {
public static boolean isServiceRunning(Context ctx ,String serviceName){
ActivityManager am = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningServiceInfo> runningServices = am.getRunningServices(100); //获取所有正在运行的服务。
for (RunningServiceInfo runningServiceInfo : runningServices) {
//获取这个服务的类名。
String className = runningServiceInfo.service.getClassName();
// System.out.println(className);
if(className.equals(serviceName)){
return true;
}
}
return false;
}
}