Объявленное действие не запускается при вызове

#android #android-intent #android-activity #crash

#Android #android-намерение #android-активность #сбой

Вопрос:

Я в тупике. Я разрабатываю приложение для своей пожарной службы, и у меня, вероятно, вопиющая ошибка, которую я не могу найти. Я пытаюсь запустить второе действие из своего первого действия, и приложение завершается с ошибкой. Logcat спрашивает, объявил ли я свою активность, и я это сделал.

Вот мой манифест:

 <uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="19" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name">
    <activity android:name="com.HCFD.scenenotes.BrushNotes" />
    <activity
        android:name="com.HCFD.scenenotes.MainActivity"
        android:label="@string/app_name" 
        android:theme="@style/AppTheme">"
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

И вот цель:

 Intent openBrushNotes = new Intent(this, BrushNotes.class);
 

И вот вызов, при котором происходит сбой моего приложения:

 public void openNewNotes(int a){
    Log.i(TAG, "Open New Notes from button "   a);
    switch(a){
    case 1:
        startActivity(openBrushNotes);
        break;
 

Может ли кто-нибудь указать мне правильное направление относительно того, чего мне явно не хватает? Если это имеет значение, я разрабатываю Eclipse ADT под Windows 8.1

На данный момент все мои примечания:

 package com.HCFD.scenenotes;
 

импорт android.app.Activity;
импорт android.os.bundle;

 public class BrushNotes extends Activity {

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


}

}
 

Logcat:

 06-21 18:58:19.997: E/AndroidRuntime(21305): FATAL EXCEPTION: main
06-21 18:58:19.997: E/AndroidRuntime(21305): Process: com.HCFD.scenenotes, PID: 21305
06-21 18:58:19.997: E/AndroidRuntime(21305): android.content.ActivityNotFoundException:   Unable to find explicit activity class {/com.HCFD.scenenotes.BrushNotes}; have you declared   this activity in your AndroidManifest.xml?
06-21 18:58:19.997: E/AndroidRuntime(21305):    at  android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1648)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1442)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at android.app.Activity.startActivityForResult(Activity.java:3474)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at android.app.Activity.startActivityForResult(Activity.java:3435)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at android.app.Activity.startActivity(Activity.java:3677)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at android.app.Activity.startActivity(Activity.java:3645)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at com.HCFD.scenenotes.MainActivity.openNewNotes(MainActivity.java:146)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at com.HCFD.scenenotes.MainActivity$2$1.onClick(MainActivity.java:125)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at android.os.Handler.dispatchMessage(Handler.java:102)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at android.os.Looper.loop(Looper.java:157)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at android.app.ActivityThread.main(ActivityThread.java:5293)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at java.lang.reflect.Method.invokeNative(Native Method)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at java.lang.reflect.Method.invoke(Method.java:515)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
06-21 18:58:19.997: E/AndroidRuntime(21305):    at        dalvik.system.NativeStart.main(Native Method)
 

Комментарии:

1. Не могли бы вы опубликовать logcat? Просто чтобы убедиться, действительно BrushNotes ли расширяется Activity и находится в пакете com.HCFD.scenenotes ?

2. Отправлен Logcat. Я также проверил, чтобы убедиться, что я не пропустил расширенную активность.

3. Нашел его. Я объявил намерение в неправильном месте. У меня это было выше метода onCreate. Теперь я переместил ее внутрь case 1: и изменил контекст с this на MainActivity.this