Ошибка при переключении на другое действие, которое не может найти явный класс действия, если вы объявили это действие в AndroidManifest - PullRequest
0 голосов
/ 02 апреля 2020

В моем проекте есть два модуля приложения. Когда я пытаюсь использовать Intent to go из Activity одного модуля в Activity другого модуля, я получаю сообщение об ошибке, что вторая активность не найдена в Manifest. Но эта активность зарегистрирована в Манифесте второго модуля. Я уже перепробовал все ответы на подобные вопросы, но проблема остается

Функция My Intent:

public void SendToMetronomeActivity() {
        Intent mMetronomeIntent = new Intent();
        mMetronomeIntent.setClassName("com.infernal93.metronome.activities", "MainMetronomeActivity");
        startActivity(mMetronomeIntent);
    }

Манифест второго модуля:

<activity android:name="com.infernal93.metronome.activities.MainMetronomeActivity"
            android:hardwareAccelerated="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>

Ошибка :

E/InputEventReceiver: Exception dispatching input event.
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.infernal93.metronome.activities/MainMetronomeActivity}; have you declared this activity in your AndroidManifest.xml?
        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1801)
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1514)
        at android.app.Activity.startActivityForResult(Activity.java:4028)
        at androidx.fragment.app.j.startActivityForResult(FragmentActivity.java:676)
        at android.app.Activity.startActivityForResult(Activity.java:3989)
        at androidx.fragment.app.j.startActivityForResult(FragmentActivity.java:663)
        at android.app.Activity.startActivity(Activity.java:4312)
        at android.app.Activity.startActivity(Activity.java:4280)
        at com.mib.livepartiture.Live.MainActivity.y(MainActivity.java:1356)

Новая ошибка:

E/InputEventReceiver: Exception dispatching input event.
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.infernal93.metronome.activities.MainMetronomeActivity }

1 Ответ

0 голосов
/ 02 апреля 2020

объявите свою деятельность следующим образом:

<activity
        android:name=".MainMetronomeActivity"
        android:label="Preferences" >
        <intent-filter>
            <action android:name="com.infernal93.metronome.activities.MainMetronomeActivity />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

и используйте ее:

Intent i = new Intent("com.infernal93.metronome.activities.MainMetronomeActivity");
...