Android全球定位系统GPS邻近警报-刘宇
2016-09-15 22:57
525 查看
在网上看到很多童鞋们说邻近警报运行起来无效,这里我为大家简单的介绍一下全部过程,你们可能缺少了哪一步哦,详情请看下面,大牛请绕过。
之前介绍了GPS获取当前位置和距离的计算,现在来介绍一下利用GPS来制作邻近警报功能,这个功能的作用是当你靠近一个地理位置一定的范围的时候会通知你,比如你已到达某建筑物附近。
效果图:
该功能的实现需要获取到位置管理器LocationManager的实例,通过它调用addProximityAlert方法。邻近警报的通知是通过广播来通知的。
addProximityAlert这个方法有五个参数:
第一个参数:表示目标位置的纬度
第二个参数:表示目标位置的经度
第三个参数:表示当你进入目标位置多少范围内报警提示
第四个参数:表示这个报警有效时间,-1为不限制
第五个参数:传递一个PendingIntent,绑定其广播接收者
————————————————————————————————————————————————
要求:
1、自定义一个广播接收者,来写接收到邻近报警后的业务逻辑
2、添加权限:
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>
3、为广播接收者在应用清单文件添加注册信息
<receiverandroid:name=".ProximityAlertReceiver"/>
—————————————————————————————————————————————————————————————————————————————
自定义广播接收者:ProximityAlertReceiver.java
MainActivity.java:
到这里邻近警报就完成了,有什么问题可留言给我,我会第一时间回复的,GPS获取当前位置、距离计算功能实现在上一篇博客,有兴趣的可以关注我查看哦。
By:Mr.Oak
之前介绍了GPS获取当前位置和距离的计算,现在来介绍一下利用GPS来制作邻近警报功能,这个功能的作用是当你靠近一个地理位置一定的范围的时候会通知你,比如你已到达某建筑物附近。
效果图:
该功能的实现需要获取到位置管理器LocationManager的实例,通过它调用addProximityAlert方法。邻近警报的通知是通过广播来通知的。
addProximityAlert这个方法有五个参数:
第一个参数:表示目标位置的纬度
第二个参数:表示目标位置的经度
第三个参数:表示当你进入目标位置多少范围内报警提示
第四个参数:表示这个报警有效时间,-1为不限制
第五个参数:传递一个PendingIntent,绑定其广播接收者
————————————————————————————————————————————————
要求:
1、自定义一个广播接收者,来写接收到邻近报警后的业务逻辑
2、添加权限:
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>
3、为广播接收者在应用清单文件添加注册信息
<receiverandroid:name=".ProximityAlertReceiver"/>
—————————————————————————————————————————————————————————————————————————————
自定义广播接收者:ProximityAlertReceiver.java
<span style="font-size:18px;">package com.oak.learngpsproximityalert; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.location.LocationManager; import android.widget.Toast; public class ProximityAlertReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //获取到广播传递过来的信息,是否已经邻近,默认为假 boolean isEnter = intent.getBooleanExtra(LocationManager.KEY_PROXIMITY_ENTERING, false); if(isEnter){ Toast.makeText(context,"你已邻近目标", 0).show(); }else{ Toast.makeText(context,"你已远离目标", 0).show(); } } }</span>
MainActivity.java:
package com.oak.learngpsproximityalert; import android.location.LocationManager; import android.os.Bundle; import android.app.Activity; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; public class MainActivity extends Activity { private LocationManager mLocationManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取位置服务管理 mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); double latitude = 30.68405629;//纬度 double longitude = 101.76924743;//经度 float radius = 5000;//范围半径,单位米 //new一个意图,绑定广播接收者 Intent intent = new Intent(this, ProximityAlertReceiver.class); //PendingIntent的作用用于当程序关闭后依然能够接受到广播。 PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 1, intent, 0); //添加邻近警告 mLocationManager.addProximityAlert(latitude, longitude, radius, -1, pendingIntent); } }
到这里邻近警报就完成了,有什么问题可留言给我,我会第一时间回复的,GPS获取当前位置、距离计算功能实现在上一篇博客,有兴趣的可以关注我查看哦。
By:Mr.Oak
相关文章推荐
- Android全球定位系统GPS距离计算-刘宇
- Android全球定位系统GPS使用教程大全-刘宇
- Android全球定位系统GPS实时获取位置-刘宇
- GPS 全球卫星导航定位系统
- Delphi XE8安卓(android)定位纠偏、地图简单调用、检测开启系统GPS
- 嵌入式系统上实现GPS全球定位功能
- GPS全球卫星定位导航系统
- 全球定位系统 - GPS - 维基百科(Wikipedia)
- GPS(Global Positioning System)全球定位系统
- Android GPS 定位的实现
- 美国一公司开发出Wi-Fi定位系统 比GPS更精确
- Android编程之实现GPS定位
- android定位之GPS,WIFI和GPRS(NETWORK)方式的定位(含实现源码)
- “北斗一号”卫星导航定位系统与GPS的区别
- Android编程之实现GPS定位【转】
- Android开发googleMap+GPS定位中的关于Criteria一知半解问题
- Android 学习意外第五季<2>——google GPS定位由经纬度转换地址信息
- Android编程之实现GPS定位
- Android获取GPS定位数据
- android GPS定位,基站定位,WIFI定位开关的控制