Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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)

like image 323
Sean Avatar asked Aug 29 '11 18:08

Sean


2 Answers

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>
like image 89
Philipp Reichart Avatar answered Oct 10 '22 21:10

Philipp Reichart


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();
like image 43
bradley4 Avatar answered Oct 10 '22 22:10

bradley4