這裏是的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