这里是的AsyncTask构造:启动活动传递上下文的从活动
private Context context;
private MainActivity activity;
public databaseTask(MainActivity activity, String task, String username, String password) {
super();
this.activity = activity;
this.context = this.activity.getApplicationContext();
这里是在MainActivity电话:
databaseTask dbGetGroupsTask = new databaseTask(MainActivity.this, "login", username, password);
dbGetGroupsTask.execute(username);
在onPostExecute我有这样的代码:
Intent s = new Intent(context, userLandingPage.class);
Bundle b = new Bundle();
b.putString("userName", username);
s.putExtras(b);
context.startActivity(s);
我在运行时得到的错误是:从Activity的外部调用startActivity()分机需要FLAG_ACTIVITY_NEW_TASK标志。这真的是你想要的吗?
从以上问题中的所有答复中,我已经看到它说,为了在没有设置标志的情况下从活动外部开始活动(因为不建议设置标志),您需要拥有活动的上下文。我以为这就是我所做的,所以我不知道为什么这不起作用。
尝试activity.startActivity(S)的活动; –
'Intent s = new Intent(activity,userLandingPage.class);' – Pragnani