whizzzkey
whizzzkey

Reputation: 946

getApplicationContext() returns null in a Service

I have a Service in it's own process, I've declared it in manifest like that:

   <service
        android:name="com.discountscatcher.util.PointService"
        android:configChanges="orientation"
        android:process=":pointservice" >
    </service>

But onStartCommand I was trying to get an ApplicationContext, but it always returns null, what I can forget?

    public int onStartCommand(Intent intent, int flags, int startId) {
    android.os.Debug.waitForDebugger();
    Context mContext = getApplicationContext();
    return Service.START_STICKY;
}

and I starting it like that:

    startService(new Intent(getApplicationContext(), PointService.class));

in Myactivity OnCreate

any ideas?

Upvotes: 10

Views: 11453

Answers (1)

kalyan pvs
kalyan pvs

Reputation: 14590

You are running your Service in a different process so it has no communication with the Actual Application process..

Try to remove this line from your service

android:process=":pointservice"

After your application is finished Application context is becomes null. At most situations there is no need to run the service in a different process. Also it is not recommended.

For more information check here

  1. Service in another process
  2. service reference Example2

Upvotes: 8

Related Questions