2012-05-16 2 views
0
@Override 
protected void onMessage(Context context, Intent intent) { 
    Log.e("C2DM", "Neue Message."); 
    Intent resultIntent = new Intent(context, ResultActivity.class); 
    resultIntent.putExtra("message", "Message received"); 
    resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(intent); 
} 

Я могу видеть из моего LogCat, что я получаю в этот метод, а затем, когда он пытался начать свою деятельность, она бросает фатальное исключение, как написано в заголовке с следующий комментарий:Android FATAL ИСКЛЮЧЕНИЯ: IntentService [[email protected]]

android.util.AndroidRuntimeException: для вызова функции startActivity() извне контекста действия требуется флаг FLAG_ACTIVITY_NEW_TASK. Это действительно то, что вы хотите? (мой ответ на AndroidRuntime: «Разве это не то, что я делаю?») ;-)

+0

показать свой LogCat – thepoosh

ответ

0

Вы передаете неверную переменную намерения на вызов startActivity(). Вы хотите использовать resultIntent, чтобы начать новую деятельность, и вы добавляете FLAG_ACTIVITY_NEW_TASK флаг resultIntent, но при запуске новой деятельности вы передаете intent по ошибке т.е.

resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(intent); 

изменить это на

resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(resultIntent);