Sean
Sean

Reputation: 1123

Intent Service never getting called

I am trying out Intent services. This is what I use to call it

    Button updateLocation = (Button) findViewById(R.id.btnUpdateLocation);
        updateLocation.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent updateLocIntent=new Intent(ImTracking.this,UpdateLocation.class);
                startService(updateLocIntent);}});

However in my UpdateLocation class, it never hits any of my break points.

    public class UpdateLocation extends IntentService{

    public UpdateLocation() {
        super("UpdateLocation");
    }


    @Override
    protected void onHandleIntent(Intent intent) {

                SharedPreferences prefs = getSharedPreferences("Settings", 0);
                final String id = prefs.getString("ID", "");
                DefaultHttpClient httpclient = new DefaultHttpClient();
                HttpPost httpost = new HttpPost(
                        "http://iphone-radar.com/gps/gps_locations");

                JSONObject holder = new JSONObject();
...

What is going on?

Thanks

PS. I am using this because I want to call it with an alarm manager. However on button click I would like to show a progress dialog, where would I place the progress dialog for an intent service? (I've only had experience working with async tasks so far)

Upvotes: 7

Views: 3468

Answers (2)

Philipp Reichart
Philipp Reichart

Reputation: 20961

Did you declare your service in AndroidManifest.xml? It won't be invoked unless it's declared like this:

<manifest ... >
  ...
  <application ... >
      <service android:name=".ExampleService" />
      ...
  </application>
</manifest>

Upvotes: 15

bradley4
bradley4

Reputation: 3938

Adding the line below will allow you to step through the service. Make sure to remove it when you aren't debugging. If you don't the processing of your service will stop at that point and won't continue.

android.os.Debug.waitForDebugger();

Upvotes: 3

Related Questions