У меня есть приложение для Android, и я сейчас играю с LocationManager, сейчас пытаюсь получить базовую функциональность. Проблема в том, что когда я отправляю ему событие Location, либо через DDMS (Eclipse), либо через telnet-соединение с эмулятором и используя «geo», я не получаю никакого ответа. У меня есть мой код ниже, может кто-нибудь помочь мне понять, что я делаю неправильно? Спасибо.
public class HelloLocation extends Activity {
Toast mToast;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent = new Intent(HelloLocation.this, HelloLocationReceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(HelloLocation.this, 0, intent, 0);
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.addProximityAlert(40.000, -74.000, 2500, -1, sender);
if(mToast != null) {
mToast.cancel();
}
mToast = Toast.makeText(HelloLocation.this, "Alarm set", Toast.LENGTH_LONG);
mToast.show();
}
}
и мой класс, который должен отвечать на событие Location:
public class HelloLocationReceiver extends BroadcastReceiver {
@Override public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Alarm set off", Toast.LENGTH_LONG).show();
}
}