Вы можете иметь статический контекст в вашем приложении, например:
public static Context CurrentContext;
и пользовательское абстрактное действие, которое устанавливает currentContext при создании следующим образом:
public abstract class CustomActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyApplication.CurrentContext = this;
}
}
Тогда вы получите такой контекст:
AlertDialog.Builder dlgBuilder = new AlertDialog.Builder(MyApplication.CurrentContext);
dlgBuilder.setTitle("Context Example");
dlgBuilder.setMessage("I am being shown from the application Static context!");
dlgBuilder.setNeutralButton("Ok", null);
dlgBuilder.show();
Таким образом, вам никогда не придется беспокоиться о контексте, если вы находитесь в фоновой задаче или непосредственно в Деятельности, это будет работать в большинстве случаев.
надеюсь, это поможет!