Android意图没有开始新的活动?

时间:2011-06-11 15:42:47

标签: java android android-intent

我正在尝试做一些相当简单的事情,只是从我的主要活动开始一个新的活动。这是代码:

public class mainActivity extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    Intent i = new Intent(mainActivity.this, testActivity.class);  
    startService(i);
}

}

  

///////////////// next file /////////////////

public class testActivity extends Activity {

@Override 
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.test);

    Toast.makeText(this, "testActivity started", Toast.LENGTH_SHORT).show();

}

}

  

/////////////////显示部分///////////////////

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".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>

    <activity android:name=".testActivity" />

但是我从来没有看到testActivity的Toast - 是什么给出的?

3 个答案:

答案 0 :(得分:14)

您想使用startActivity代替startService

Intent i = new Intent(mainActivity.this, testActivity.class);  
startActivity(i);

答案 1 :(得分:4)

要开始活动,您应使用startActivity()代替startService()

您还必须确保在您的Android清单中列出了testActivity。

答案 2 :(得分:3)

如果活动仍在后台运行,则会调用该活动,只会调用onResume(),而不是onCreate();

检查生命周期:http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle