答案 0 :(得分:1)
在开始服务之前,您可以通过以下方式检查gps是否启用:
locationMangaer = (LocationManager) getSystemService(LOCATION_SERVICE);
if (locationMangaer.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
StartServ Intent i = new Intent(this, TrackingService.class);
startService(i);
} else {
showGPSDisabledAlertToUser();
}
答案 1 :(得分:0)
LocationManager不可解析或不同步,因此我们无法将此对象传递给Activity。我们使用
直接将alertDialog置于服务中AlertDialog dialog= --;
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
或者使用带有信使的Handler来从服务到活动进行交流。
希望这对你有所帮助......
答案 2 :(得分:0)
要在LocationManager
和LocalBroadcastManager
之间传递特定对象,请按照$.inArray()
文档进行操作。
但在你的情况下,传递--privileged
可能不是一个好主意。但您只需使用/etc/fstab
发送广播,例如当你获得位置更新时。