Запуск активности в onPostExecute

У меня возникает проблема при попытке запустить намерение, когда AsyncTask завершен методом onPostExecute . В первый раз, когда я вызываю AsyncTask , в действие заставки.

 public class SplashScreen extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); startJsonGet(); } public void startJsonGet() { JsonGet getData = new JsonGet(mBuildings, SplashScreen.this); getData.execute(); } } 

Это вызывает класс JsonGet

 public class JsonGet extends AsyncTask<Void, Void, Void> { Context context; JsonGet(ArrayList<Building> mBuildings, Context context){ super(); this.mBuildings = mBuildings; this.context = context; } @Override protected void onPreExecute() { super.onPreExecute(); // before making http calls } @Override protected Void doInBackground(Void... arg0) { JsonParser jsonParser = new JsonParser(); String json = jsonParser .getJSONFromUrl(""); Log.e("Response: ", "> " + json); if (json != null) { try { //Does stuff } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return null; } @Override protected void onPostExecute(Void result) { super.onPostExecute(result); Intent i=new Intent(context, MainActivity.class); context.startActivity(i); } } 

JSON правильно разбирается, и журнал показывает это. Но когда я пытаюсь вызвать намерение в сообщении, он сработает. Мне нужно вызвать эту функцию JsonGet из другого класса. ( Пример: обновите данные Json, когда пользователь нажмет кнопку обновления ). Поэтому вызов намерения из класса заставки не будет работать.

Вот журнал, который я получаю

  10-25 16:03:12.156 8481-8481/com.andrewcode.broncomaps E/eglCodecCommon﹕ writeFully: failed: Broken pipe 10-25 16:03:12.156 8481-8481/com.andrewcode.broncomaps E/EGL_emulation﹕ tid 8481: eglChooseConfig(576): error 0x3001 (EGL_NOT_INITIALIZED) 10-25 16:03:12.164 8481-8481/com.andrewcode.broncomaps E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.IllegalArgumentException: eglChooseConfig failed EGL_NOT_INITIALIZED at android.view.HardwareRenderer$GlRenderer.chooseEglConfig(HardwareRenderer.java:893) at android.view.HardwareRenderer$GlRenderer.initializeEgl(HardwareRenderer.java:845) at android.view.HardwareRenderer$GlRenderer.initialize(HardwareRenderer.java:786) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1502) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) at android.view.Choreographer.doCallbacks(Choreographer.java:562) at android.view.Choreographer.doFrame(Choreographer.java:532) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) at android.os.Handler.handleCallback(Handler.java:725) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method) 

Я не вижу никаких проблем с asynctask. Проблема, похоже, связана с вашим эмулятором. Попробуйте перезапустить его. Может быть, эта ссылка вам поможет: EGL_emulation не удалось установить соединение с host-android