我用addProximityAlert:IntentReceive不起作用
Intent intent = new Intent(getString(R.string.intent_message_location_fetched));
PendingIntent proximityIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
locationManager.addProximityAlert(LAT, LONG, RADIUS, 0, proximityIntent);
据我了解的意图与R.string.intent_message_location_fetched应的位置之后被解雇行动将围绕LAT长。 (R.string.intent_message_location_fetched = com.myapp.client.MyActivity.LocationFetched)
然后我试图创建BroadcastReciver类:
public class MyBroadcastReciver extends BroadcastReceiver {
MyActivity mainActivity;
public MyBroadcastReciver(MyActivity activity)
{
mainActivity = activity;
}
@Override
public void onReceive(Context context, Intent intent) {
mainActivity.ShowToast("Recived : " + intent.getAction());
}
}
而且在MyActivity类注册reciver:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
myReciver = new MyBroadcastReciver(this);
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(getString(R.string.intent_message_location_fetched));
registerReceiver(myReciver, intentFilter);
...
但是,当我在LAT LONG位置时没有任何反应。 有什么问题? 我试过在清单中注册Receiver,但它没有帮助。
P.S.当我使用getActivity而不是getBroadcast时,这个工作正常,如果它已经死了,就恢复我的Activity。
FYI您应该使用Android专用标签,如[android-intent]和[android-broadcastreceiver] – styler1972
您的意思是我应该在清单文件或其他东西中使用Android专用标签? – Ksice