Tôi đã phát triển một ứng dụng trong PhoneGap đang theo dõi tuyến đường đi của bạn thông qua API vị trí địa lý, tôi nhận được vị trí hiện tại của thiết bị qua navigator.geolocation.getCurrentPosition(onSuccess, onError);
và Nhưng bây giờ vấn đề là nó không hoạt động trong nền tức là (khi tôi mở một ứng dụng khác và nó bắt đầu chạy ở chế độ nền), nó không cập nhật ý nghĩa của polyline mà không kích hoạt chức năng navigator.geolocation.watchPosition(function(position)
này vì vậy tôi đã cố gắng chạy ứng dụng thông qua Cordova-plugin-background-mode
plugin này bắt đầu chạy ứng dụng của nó ở chế độ nền và một lần nữa không kích hoạt chức năng navigator.geolocation.watchPosition(function(position)
có nghĩa là điều này không bắt buộc tôi .e (không cần cài đặt plugin để chạy ứng dụng ở chế độ nền). Vì vậy, hãy giúp tôi giải quyết vấn đề này khi nhận được vị trí ở chế độ nền. Và nếu tôi sử dụng plugin Cordova-plugin-mauron85-background-geolocation
này làm cách nào để có được vị trí khi tôi đang đi qua vị trí xem? và phải làm gì nếu ứng dụng đang chạy ở nền trước? sao tôi phải sử dụng chức năng watchPosition
hoặc cái gì khác?Để nhận vị trí thiết bị sau khoảng thời gian cụ thể khi ứng dụng Phonegap đang chạy ở chế độ nền thông qua API vị trí địa lý
Trả lời
Bạn có thể muốn tìm hiểu điều này location plugin. Họ dường như nghĩ rằng họ đã giải quyết được vấn đề.
Nhanh chóng fiddle và thử nghiệm trên điện thoại tôi có quyền truy cập để hiển thị đây không phải là vấn đề về điện thoại. Đây là một vấn đề hệ điều hành. Hầu hết các điện thoại đã được tối ưu hóa để tạm ngưng hoạt động nền, đặc biệt là hoạt động của trình duyệt web. Nó có lẽ là tốt nhất để buộc vào các sự kiện bản địa để có được hành vi mà bạn muốn.
navigator.geolocation.watchPosition(positionChanged, err, options);
Tôi đã nhận thấy rằng điện thoại giữ tất cả các kết nối mở ngay cả đối với các tác vụ nền. Bạn có thể chơi game bằng cách thực hiện cuộc gọi ajax đến máy chủ không từ chối nhưng không trả lời, thêm bộ xử lý hết giờ và thiết lập khoảng thời gian bạn muốn, trong trình xử lý thời gian chờ ajax kiểm tra vị trí và sau đó thiết lập một cuộc gọi mới.
Chúc may mắn!
Có một mẫu với cordova-plugin-background-mode
:
var backgroundGeoLocation = window.plugins.backgroundGeoLocation;
function startGetLocation() {
var callbackFn = function(location) {
console.log('[js] BackgroundGeoLocation callback: ' + location.latitude + ',' + location.longitude);
var latitude = location.latitude;
var longitude = location.longitude;
var pontos = [];
if($localStorage.getPontosGps() && $localStorage.getPontosGps().pontos){
pontos = $localStorage.getPontosGps().pontos;
}
$log.log('lat: ' + latitude);
$log.log('long: ' + longitude);
if (!_.find(pontos, {
latitude: latitude,
longitude: longitude
})) {
pontos.push({
latitude: latitude,
longitude: longitude,
velocidade: null
});
$localStorage.setPontosGps({
isRunning: true,
pontos: pontos
});
}
backgroundGeoLocation.finish();
};
var failureFn = function(error) {
console.log('BackgroundGeoLocation error: ' + error);
};
backgroundGeoLocation.configure(callbackFn, failureFn, {
desiredAccuracy: 10,
stationaryRadius: 20,
distanceFilter: 30,
debug: false,
stopOnTerminate: false,
locationTimeout: 10,
notificationTitle: 'Title', // <-- android only, customize the title of the notification
notificationText: 'Collecting geolocation'
});
backgroundGeoLocation.start();
}
- 1. Vị trí địa lý HTML5 so với Google Maps Vị trí địa lý api
- 2. Tìm vị trí trong ứng dụng Ionic/Cordova khi ở chế độ nền
- 3. API vị trí địa lý trên iPhone
- 4. Thiết bị GeoFence khi ứng dụng ở chế độ nền
- 5. Giảm vị trí nền iOS Vị trí sử dụng pin
- 6. Quản lý vị trí cung cấp các vị trí cũ với dấu thời gian mới
- 7. Tìm vị trí cho ứng dụng iOS khi nó ở chế độ nền và thậm chí bị giết
- 8. cách chạy ứng dụng android phonegap ở chế độ nền (sau khi đóng ứng dụng)?
- 9. Vị trí địa lý của Phonegap Lỗi: timeout
- 10. Cách theo dõi thiết bị vị trí thiết bị (iOS và Android) bằng Phonegap
- 11. Vị trí địa lý nền phản ứng gốc
- 12. Tính khoảng cách giữa hai vị trí địa lý
- 13. API vị trí của Google: yêu cầu cập nhật vị trí với mục đích đang chờ xử lý?
- 14. API riêng tư của iOS để theo dõi vị trí ở chế độ nền sau khi ứng dụng bị giết (như Tìm bạn bè của tôi)
- 15. iOS9 không theo dõi vị trí trong khi ở chế độ nền
- 16. Cách nhận vị trí địa lý của tôi trong bash
- 17. giữ ứng dụng đang chạy ở chế độ nền
- 18. Thư viện API vị trí địa lý của Google
- 19. Location.HorizontalAccuracy quá xấu khi nhận vị trí từ nền
- 20. Vị trí địa lý trong C#
- 21. Android: Sử dụng html5 để xác định vị trí địa lý trong chế độ xem web với javascript api
- 22. API vị trí địa lý IP của Google
- 23. Cuộn UITableView đến vị trí cụ thể
- 24. PhoneGap. Không thể khởi động dịch vụ Vị trí địa lý
- 25. navigator.geolocation.getCurrentPosition luôn nhận thời gian chờ trong Android cho đến khi GPS/Vị trí đang TẮT
- 26. Sự khác biệt khi nhận vị trí bằng cách sử dụng Trình quản lý vị trí và Api nhà cung cấp vị trí hợp nhất là gì?
- 27. Nhắc cho phép vị trí khi KHÔNG theo dõi ở chế độ nền?
- 28. API vị trí địa lý tốt theo IP
- 29. Vị trí ảnh nền
- 30. Meteor.js phản ứng html5 vị trí địa lý định vị.coords
@everyone cho chúng tôi biết nếu bạn cố gắng hack ajax để thực hiện trong khoảng thời gian khi ở chế độ nền. –