proximityAlert로 해당위치를 등록해놓고 BroadCastReceiver로 토스트를 띄우는 기능입니다.
실기계에서 gps조작으로 테스트 하고있고요 버전은 4.4 킷캣입니다
---- Manifest ----
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<receiver android:name=".BroadCastProximity">
</receiver>
---- MapsActivity.java ----
//접근할때 호출할 브로드캐스트등록
Intent intent = new Intent(MapsActivity.this, BroadCastProximity.class);
mPending = PendingIntent.getBroadcast(MapsActivity.this, 0, intent, 0);
mLocMgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
mLocMgr.addProximityAlert(position.latitude, position.longitude, 100, -1, mPending);
---- BroadCastProximity.java ----
public class BroadCastProximity extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.i("BroadCastProximity>>","called");
boolean bEnter = intent.getBooleanExtra(LocationManager.KEY_PROXIMITY_ENTERING, false);
Toast.makeText(context,"come",Toast.LENGTH_SHORT).show();
Toast.makeText(context,bEnter ? "들어왔습니다.":"나갔습니다",Toast.LENGTH_SHORT).show();
}
}
BroadCast는 sendBroadcast로 테스트 할때는 잘 됐습니다.
그런데 ProximityAlert는 작동이 되지 않는데 이유가 뭘까요?