Yes, you can access the database from the service. All you have to do is create a database class object that extends SqliteOpenHelper, passes ServiceName.this as a context, or uses your application class as a context.
DbHelper db = new DbHelper(ServiceClass.this); db.performOperations(); db.close();
OR
DbHelper db = new DbHelper(YourApplicationClass.getAppContext()); db.performOperations(); db.close();
source share