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

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 に答える
0

まず、アクション文字列では大文字と小文字が区別されます。"com.indoor.ActivityMain"等しくありません"com.indoor.ACTIVITYMAIN"

<intent-filter>第二に、おそらくこれらの余分な要素は必要ありません。サードパーティのアプリがそのアクティビティを直接呼び出すようにする場合にのみ、アクティビティに on を配置します (例: /アクティビティ)。それ以外の場合は、を取り除き、Synergy807 によって指摘された構造を使用します。<intent-filter>MAINLAUNCHER<intent-filter>IntentstartActivity(new Intent(this, ActivityMain.class))

于 2013-09-06T00:21:00.037 に答える