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
-~----------~----~----~----~------~----~------~--~---

Reply via email to