Android GPS应用:临近警告

来源:互联网 发布:java web 图片上传 编辑:程序博客网 时间:2024/05/16 12:42

前面介绍过LocationManager有一个addProximityAlert(double latitude,double longitude,float radius,long expiration,PendingIntent intent)方法,该方法可用于添加临近警告。其参数说明如下:

latitude:指定固定点的经度。

longitude:指定固定点的纬度。

radius:指定半径长度。

expiration:指定经过多少毫秒后该临近警告就会过期失效。-1表示永不过期。

intent:该参数指定临近该固定点时触发该intent对应的组件.

下面这个小程序可以检测手机是否进入和离开了指定点的指定范围内。代码如下:

Activity:

package com.home.proximityalert;import com.home.receiver.ProximityAlertReceiver;import android.app.Activity;import android.app.PendingIntent;import android.content.Context;import android.content.Intent;import android.location.LocationManager;import android.os.Bundle;public class ProximityAlertTestActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);// 获取系统LocationManager服务LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);// 定义成都市成华区的大致经度、纬度double longitude = 104.10;double latitude = 30.67;// 定义半径(5公里)float radius = 5000;// 定义IntentIntent intent = new Intent(this, ProximityAlertReceiver.class);// 将Intent包装成PendingIntent对象PendingIntent pi = PendingIntent.getBroadcast(this, -1, intent, 0);// 添加临近警告locationManager.addProximityAlert(latitude, longitude, radius, -1, pi);}}

BroadcastReceiver(ProximityAlertReceiver):

package com.home.receiver;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 {@Overridepublic void onReceive(Context context, Intent intent) {// 获取是否进入指定区域boolean isEnter = intent.getBooleanExtra(LocationManager.KEY_PROXIMITY_ENTERING, false);if (isEnter) {// 给出提示信息Toast.makeText(context, "您已经进入成都市成华区", Toast.LENGTH_LONG).show();} else {// 给出提示信息Toast.makeText(context, "您已经离开成都市成华区", Toast.LENGTH_LONG).show();}}}

权限:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>



 

原创粉丝点击