Android GPS應用:臨近警告
前面介紹過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 {
@Override
protected 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;
// 定義Intent
Intent 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 {
@Override
public 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"/>來自:http://blog.csdn.net/u010142437/article/details/9391189
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!