Tôi muốn cảnh báo người dùng khi anh ta ở gần một vị trí cụ thể. Đối với điều này tôi đã bao gồm một ProxmityAlert và một dịch vụ tương ứng trong ứng dụng của tôi. Nhưng không có vấn đề gì tôi đưa ra tọa độ, nó luôn luôn cho tôi thấy "Cảm ơn bạn đã ghé thăm khu vực của tôi !! nhập" Tôi làm điều này một cách sai lầm?Quản lý vị trí ProxmityAlert luôn nói rằng nhập
Đây là cách tôi đang làm nó:
public class ProxTest extends Activity {
LocationManager lm;
double lat = 30.085514, long1 = 77.082603;
float radius = 50;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lm = (LocationManager) getSystemService(LOCATION_SERVICE);
Intent i = new Intent();
i.setAction("com.example.test.proximityalert");
PendingIntent pi = PendingIntent.getBroadcast(getApplicationContext(),
-1, i, 0);
lm.addProximityAlert(lat, long1, radius, -1, pi);
sendBroadcast(i);
System.out.println("Prox alert added ");
}
}
Và đây là người nhận:
public class ProximityReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
String k = LocationManager.KEY_PROXIMITY_ENTERING;
boolean state = arg1.getBooleanExtra(k, false);
if (state) {
Toast.makeText(arg0, "Welcome to my Area", Toast.LENGTH_LONG)
.show();
} else {
Toast.makeText(arg0, "Thank you for visiting my Area!!"+k,
Toast.LENGTH_LONG).show();
}
}
}
Trong Manifest, tôi đã thêm:
<receiver android:name="ProximityReceiver">
<intent-filter>
<action android:name="com.example.test.proximityalert">
</action>
</intent-filter>
</receiver>