I have created a new project focusing on that problem. Now the PendingIntent.getBroadcast() method doesn't try to start an activity any longer.
But the problem that the LocationManager doesn't fire the intent still consists. I have a Activity that creates a PendingIntent and calls the addProximityAlert() method. The BroadcastReceiver should only log the incomming events. The only event that appears is the broadcast I send by my self (sendBroadcast(intent);) public class MyActivity extends Activity { private static final String PROXIMITY_ALERT = "de.pengingintent.Activity.PROXIMITY_ALERT"; private static final String TAG = "MyActivity"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent intent = new Intent(PROXIMITY_ALERT); PendingIntent pintent = PendingIntent.getBroadcast(getApplicationContext(), 0, intent, 0); // just to test if the broadcast receiver exists Log.d(TAG, "testing broadcast receiver"); sendBroadcast(intent); LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); lm.addProximityAlert(1, 1, 200, 20000, pintent); } } public class MyReceiver extends BroadcastReceiver { private static final String TAG = "MyReceiver"; @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Log.d(TAG, "received new intent"); if(intent.getAction() != null) Log.d(TAG, intent.getAction()); Bundle extras = intent.getExtras(); if(extras != null) { if(extras.containsKey(LocationManager.KEY_PROXIMITY_ENTERING)) { Log.d(TAG, LocationManager.KEY_PROXIMITY_ENTERING + " is: " + Boolean .toString(extras.getBoolean(LocationManager.KEY_PROXIMITY_ENTERING))); } } } } The latitude and longitute I registerd for is 1, 1 and on the terminal I run the "geo" command multiple times: geo fix 3 3 geo fix 1 1 ... What am I doing wrong? Am 03.08.2009 um 15:12 schrieb Lutz Schönemann: > > Hi, > > I have more than one problem to use the addProximityAlert() method > from the LocationManager class. > > The first thing is that I want to create a PendingIntent for a > broadcast receiver. Therefor I use this code: > > Intent intent = new Intent("app1.PROXIMITY_ALERT"); > PendingIntent pintent = PendingIntent.getBroadcast(Activity1.this, 1, > intent, 0); > > The problem is, that I get this error message: > > "No activity found to handle intent { action=app1.PROXIMITY_ALERT }" > > I'm confused because this should not call an Activity but a > BroadcastReceiver. > If I send this intent as a broadcast my self, the BroadcastReceiver > receives this intent... > > What is wrong with my code? > > > I tried to create an intent to call an Activity instead and registered > it to be send when reaching a location: > > Intent intent = new Intent(Intent.ACTION_DEFAULT) > intent.setType("vnd.app1/activity1"); > > PendingIntent pintent = PendingIntent.getBroadcast(Activity1.this, 1, > intent, 0); > > LocationManager lm = > (LocationManager)getSystemService(Context.LOCATION_SERVICE); > lm.addProximityAlert(latitude, longitude, radius, -1, pintent); > > The problem is that the Activity is called immediately but NEVER if > the registered location is reached. > > > I'm working on a emulator and setting the gps coordinates using the > geo fix > command. > > > Can anyone help me with this problems > thanks > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---