I need a content resolver to set an event in calendar using a service running in background while i do not have any activity of my app open so i can't get any context or activity object we need to use GetContentresolver kindly guide me what can be done here thanks.
Asked
Active
Viewed 2,203 times
0
-
get application context – Surya Prakash Kushawah Nov 24 '16 at 10:48
-
@SuryaPrakashKushawah I'm new to android kindly tell me how to do that – Irtza Shahan Nov 24 '16 at 10:50
-
A `Service` is a `Context`. Just call `getContentResolver()` directly. – Mike M. Nov 24 '16 at 18:23
-
@MikeM. doesn't work – Irtza Shahan Nov 24 '16 at 22:30
-
Yes, it does. You've posted no code, however, so we can't tell you exactly what you're doing wrong. I would point out, though, that the answer you just accepted is doing that exact thing - `ContentResolver resolver=getContentResolver();` - and the custom `Application` subclass is unnecessary, and not even used. – Mike M. Nov 24 '16 at 22:45
1 Answers
2
public class AppName extends Application
{
private static Context mContext;
@Override
public void onCreate()
{
super.onCreate();
mContext = this;
}
public static Context getContext()
{
return mContext;
}
}
In Service class
public class MyIntentService extends IntentService {
// TODO: Rename actions, choose action names that describe tasks that this
// IntentService can perform, e.g. ACTION_FETCH_NEW_ITEMS
private static final String ACTION_FOO = "com.jvvnl.app.action.FOO";
private static final String ACTION_BAZ = "com.jvvnl.app.action.BAZ";
// TODO: Rename parameters
private static final String EXTRA_PARAM1 = "com.jvvnl.app.extra.PARAM1";
private static final String EXTRA_PARAM2 = "com.jvvnl.app.extra.PARAM2";
public MyIntentService() {
super("MyIntentService");
}
/**
* Starts this service to perform action Foo with the given parameters. If
* the service is already performing a task this action will be queued.
*
* @see IntentService
*/
// TODO: Customize helper method
public static void startActionFoo(Context context, String param1, String param2) {
Intent intent = new Intent(context, MyIntentService.class);
intent.setAction(ACTION_FOO);
intent.putExtra(EXTRA_PARAM1, param1);
intent.putExtra(EXTRA_PARAM2, param2);
context.startService(intent);
}
/**
* Starts this service to perform action Baz with the given parameters. If
* the service is already performing a task this action will be queued.
*
* @see IntentService
*/
// TODO: Customize helper method
public static void startActionBaz(Context context, String param1, String param2) {
Intent intent = new Intent(context, MyIntentService.class);
intent.setAction(ACTION_BAZ);
intent.putExtra(EXTRA_PARAM1, param1);
intent.putExtra(EXTRA_PARAM2, param2);
context.startService(intent);
}
@Override protected void onHandleIntent(Intent intent) {
if (intent != null) {
ContentResolver resolver=getContentResolver();
}
}
/**
* Handle action Foo in the provided background thread with the provided
* parameters.
*/
private void handleActionFoo(String param1, String param2) {
// TODO: Handle action Foo
throw new UnsupportedOperationException("Not yet implemented");
}
/**
* Handle action Baz in the provided background thread with the provided
* parameters.
*/
private void handleActionBaz(String param1, String param2) {
// TODO: Handle action Baz
throw new UnsupportedOperationException("Not yet implemented");
}

Surya Prakash Kushawah
- 3,185
- 1
- 22
- 42