ios-高德、百度后台定位并上传服务器
一、配置高德或百度的后台定位框架和代码(略)。
二、配置app不被系统kill,定时获取地理位置信息,并上传服务器(AppDelegate里面)。
具体代码:
1、
- (void)applicationDidEnterBackground:(UIApplication *)application {
//控制定时器不被kill
UIApplication * app = [UIApplication sharedApplication];
__block UIBackgroundTaskIdentifier bgTask;
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
if (bgTask != UIBackgroundTaskInvalid) {
bgTask = UIBackgroundTaskInvalid;
}
});
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
dispatch_async(dispatch_get_main_queue(), ^{
if (bgTask != UIBackgroundTaskInvalid) {
bgTask = UIBackgroundTaskInvalid ;
}
});
});
}
2、
{
//全局计时器
NSTimer * timer;
}
-(void)turnOnTimer{
//14400.0 秒调用一次
timer = [NSTimer scheduledTimerWithTimeInterval:14400.0 target:self selector:@selector(pushGPSdata) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
}
3、
-(void)pushGPSdata{
//_dicUrl 全局保存定位信息
NSString * cityName = [NSString stringWithFormat:@"%@",_dicUrl[@"cityName"]];
NSString * latitude = [NSString stringWithFormat:@"%@",_dicUrl[@"latitude"]];
NSString * longitude = [NSString stringWithFormat:@"%@",_dicUrl[@"longitude"]];
if (cityName.length !=0&&latitude.length !=0&&longitude.length !=0) {
[self pushGPS:_dicUrl];
}
}
-(void)pushGPS:(NSMutableDictionary*)dic{
[com afPostRequestWithUrlString:trail_Url parms:dic finishedBlock:^(id responseObj) {
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObj options:NSJSONReadingMutableLeaves error:nil];
NSLog(@"%@",dic[@"message"]);
NSString * userStatus = [NSString stringWithFormat:@"%@",dic[@"success"]];
if ([userStatus isEqualToString:@"1"]) {
NSLog(@"GPS成功");
}else{
NSLog(@"GPS失败");
}
} failedBlock:^(NSString *errorMsg) {
}];
}
ios-高德、百度后台定位并上传服务器的更多相关文章
- ios开发 将json格式数据上传服务器
看了一些大小牛的资料其实就3步 1.使用post 请求 ,因为get是不能上传的 2.设置请求类型 , 讲你的json数据上传 3.向服务器发送数据按照下面示例代码,就差不多了 1 // 1.创建请求 ...
- js仿百度文库文档上传页面的分类选择器_第二版
仿百度文库文档上传页面的多级联动分类选择器第二版,支持在一个页面同一时候使用多个分类选择器. 此版本号把HTML,CSS,以及图片都封装到"category.js"中.解决因文件路 ...
- 优化Recorder H5录音:可边录边转码上传服务器,支持微信提供Android IOS Hybrid App源码
Recorder H5 GitHub开源库随着支持功能的增多,音频转码处理效率渐渐的跟不上需求了,近期抽时间对音频转码部分进行了升级优化,以支持更多实用的功能. 另外IOS的Hybrid App也完成 ...
- iOS开发网络篇—文件的上传
iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...
- ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结
相册 iphone的相册包含摄像头胶卷+用户计算机同步的部分照片.用户可以通过UIImagePickerController类提供的交互对话框来从相册中选择图像.但是,注意:相册中的图片机器路径无法直 ...
- iOS 开发http post 文件的上传
iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...
- iOS实现视频和图片的上传
关于iOS如何实现视频和图片的上传, 我们先理清下思路 思路: #1. 如何获取图片? #2. 如何获取视频? #3. 如何把图片存到缓存路径中? #4. 如何把视频存到缓存路径中? #5. 如何上传 ...
- IOS 视频.图片上传服务器
//上传视频 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.requestSerializer. ...
- ios中摄像头/相册获取图片压缩图片上传服务器方法总结
本文章介绍了关于ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结,有需要了解的同学可以参考一下下. 这几天在搞iphone上面一个应用的开发,里面有需要摄像头/相册编程和图片上传的问 ...
随机推荐
- 去除手机端触摸滑动事件ontouchmove
window.ontouchmove=function(e){ e.preventDefault && e.preventDefault(); e.returnValue=false; ...
- js不间断平滑地自动向上滚动
<html> <head> <title>scroll up auto smooth</title> <style> *{ margin: ...
- Tactical Multiple Defense System 二分图
This problem is about a war game between two countries. To protect a base, your country built a defe ...
- Temp文件夹缺少network service权限,webservice能访问,但是不能调用
给C:\WINDOWS\temp文件夹添加NETWORK SERVICE权限即可
- 持续集成基础-Jenkins(二)-搭建Jenkins环境和配置第一个Job
安装方式一(直接启动): 1.下载最新的版本(一个 WAR 文件).Jenkins官方网址: http://Jenkins-ci.org/ 2.运行 java -jar jenkins.war(需要运 ...
- BZOJ4231 : 回忆树
一个长度为$|S|$的串在树上匹配有两种情况: 1.在LCA处转弯,那么这种情况只有$O(|S|)$次,暴力提取出长度为$2|S|$的链进行KMP即可. 2.不转弯,那么可以拆成两个到根路径的询问. ...
- 使用AFNetworking 2.0 请求数据时出现错误 Request failed: unacceptable content-type: text/html 解决方法
使用AFNetworking 2.0 请求数据时出现错误 Request failed: unacceptable content-type: text/html 解决方法 添加一行 manager. ...
- 【转载】LoadRunner11下载以及详细破解说明
前期准备:LoadRunner11 下载请猛戳这里 传送门LoadRunner破解文件 下载请猛戳这里 传送门LoadRunner注册表清理工具 下载请猛戳这里 传送门 LoadRunner11破解方 ...
- ArcGIS 裁剪地图显示范围
在argmap工具中,图层属性中,数据框选择“裁剪选项”,“指定范围”,根据一个要素的轮廓,即可以选择需要全屏显示的图层“要素的轮廓”,确定以后地图就自动居中显示,请注意要排除掉超出范围的图层,否则发 ...
- “Invalid maximum heap size” when running Maven
运行mvn package,报错: Invalid maximum heap size: -Xmx512m. Error: Could not create the Java Virtual Mach ...