簡體   English   中英

從另一個活動開始Main活動

[英]Starting the Main activity from another activity

我正在嘗試在Android上實現以下情況,但沒有成功:1)啟動應用程序(Launcher Activity,它是Base Activity的子類)。 基本活動的代碼如下:

///This is in BaseActivity
@Override
public void onCreate(Bundle instance)
{
    super.onCreate(instance);
    //Config.isLoggedIn() is a static function.
    if(! Config.isLoggedIn())
    {
        ////Config.startLoginActivity is a static function
        Config.startLoginActivity(this, getIntent());
        finish();
    }
}

Config.startLoginActivity函數定義為

public static void startLoginActivity(final Context ctx, final Intent finishIntent)
{
    Intent i = new Intent(ctx, ItemListActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    i.putExtra("FINISH_INTENT", finishIntent);
    ctx.startActivity(i);
}

現在,ItemListActivity包含項列表,如{Item1,Item2,Item3}。 在ItemListActivity中,我將傳遞的“ finishIntent”保存為

///This is ItemListActivity onCreate Method
if(getIntent().hasExtra("FINISH_INTENT"))
        mFinishIntent = getIntent().getParcelableExtra("FINISH_INTENT");

並且onItemListSelected方法描述如下:

@Override
public void onItemSelected(String id) {
Config.setLogInState(true);
    if(mFinishIntent != null)
    {

        Log.i("ITEMLISTACTIVITY", "Class Name = " + mFinishIntent.getClass().getName());
        Log.i("ITEMLISTACTIVITY", "Starting mFinishIntent Activity");
        startActivity(mFinishIntent);
        finish();
    }
}

但是問題是沒有再次啟動Main Activity,Android將我帶到了主屏幕。 在尋找解決方案時,我發現Google I / O應用具有相同的實現,並且可以完美地工作,但就我而言,卻並非如此。 我無法弄清楚。 請幫忙。

提前致謝。

清單文件如下:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.app.myapplication.ItemListActivity"
        android:label="@string/app_name" >
    </activity>

      <activity
        android:name="com.app.myapplication.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

好的,這里是一個快速幫助,它可以100%正常工作,我使用的不是大多數,而是每次! 您必須通過意圖來克服它,並且在這種情況下,它必須是這樣。

Intent intent = new intent(//當前您所在的活動的名稱。this,//您要進入的活動的名稱.class); startActivity(intent);

希望這會有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM