0

我很难过,我没有活动来处理意图,我已经检查了清单等。有人可以快速查看一下,看看我在这里做错了什么。

这是我的java类

'import com.one2.indoor.R;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

import android.widget.ImageButton;

public class Menu extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ImageButton tut1 = (ImageButton) findViewById(R.id.activitymain);
    tut1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity (new Intent("com.indoor.ActivityMain"));
        }
    });

        }'

这是我的 ActivityMain 课程

'import com.one2.indoor.R;

import android.app.Activity;
import android.os.Bundle;

public class ActivityMain extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tutorial);
}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();

}

}'

最后是我的清单

'<activity
        android:name="com.indoor.Main"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.indoor.Menu"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="com.indoor.MENU" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.indoor.ActivityMain"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="com.indoor.ACTIVITYMAIN" />

            <category android:name="android.intent.category.DEFAULT" />

        </intent-filter>

        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.indoor.ActivityMain" />
    </activity>
</application>

</manifest>

我只是看不到它,为什么我会收到错误消息。非常感谢任何帮助

4

4 回答 4

0

I guess it will be com.one2.indoor.ActivityMain.Also make sure that the names should be exactly same as they are case sensitive.

于 2013-09-06T01:07:16.613 回答
0

清单中的活动路径和您的 startActivity 可能不正确。它应该是 com.one2.indoor.ActivityMain,或者指定为其包的任何内容。

或者,我认为您可以将 .ActivityMain 放在清单中作为名称,它会自动找出路径。

最后,尝试使用 startActivity(new Intent(YourActivity.this, TargetActivity.class))

于 2013-09-05T23:07:17.397 回答
0

首先,操作字符串区分大小写。"com.indoor.ActivityMain"不等于"com.indoor.ACTIVITYMAIN"

其次,您可能无论如何都不想要那些额外的<intent-filter>元素。如果您希望第三方应用程序直接调用该活动(例如,您的/活动) ,请在活动上放置。否则,摆脱并使用Synergy807 指出的结构:<intent-filter>MAINLAUNCHER<intent-filter>IntentstartActivity(new Intent(this, ActivityMain.class))

于 2013-09-06T00:21:00.037 回答
0

就像 synergy8 说的那样,你应该接受他的回答,但你需要一个新活动声明的 android 清单中的新意图。

所以为了更清楚,你应该看到你的清单有这样的东西对不起我在 mobilr 智能手机上这样做

              <activity
        android:label="@string/app_name"
        android:name=".MainActivity" > //your activity name replaces .main activity
        <intent-filter >
             <action android:name="android.intent.action.MAIN" />
                        </intent-filter>
    </activity>

应该这样做,如果您查看在那里创建的第一个活动,您会看到它,只需复制并粘贴它并更改意图过滤器中的 .main 和它在活动中的 .mainactivity

基本上从我所看到的和协同作用说你正在导入一个不存在的包?Com.indoor.activity ,当你的包是 com.one2.indoor.activity

于 2013-09-05T23:26:13.323 回答